Kaynağa Gözat

Добавлено управление для pe43711

Anatoliy Chigirinskiy 1 yıl önce
ebeveyn
işleme
a863293ca4
4 değiştirilmiş dosya ile 48 ekleme ve 0 silme
  1. 1 0
      CMakeLists.txt
  2. 23 0
      Devices/pe43711.c
  3. 22 0
      Devices/pe43711.h
  4. 2 0
      main.c

+ 1 - 0
CMakeLists.txt

@@ -7,6 +7,7 @@ add_executable(TMSG44_CoolPi command.c main.c
         Devices/lmx2594.c
         Devices/dac8811.c
         Devices/max2870.c
+        /Devices/pe43711.c
         Devices/tmsgheaders.c)
 
 target_link_libraries(TMSG44_CoolPi m)

+ 23 - 0
Devices/pe43711.c

@@ -0,0 +1,23 @@
+#include "pe43711.h"
+
+void pe43711_att_1_init(void *bar1) {
+    uint32_t *ptr = bar1 + PE43711_1_ADDR;
+    *ptr = PE43711_ATTEN_0DB;
+}
+
+void pe43711_att_2_init(void *bar1) {
+    uint32_t *ptr = bar1 + PE43711_2_ADDR;
+    *ptr = PE43711_ATTEN_0DB;
+}
+
+void pe43711_att_1_set(void *bar1, uint8_t atten) {
+    uint32_t *ptr = bar1 + PE43711_1_ADDR;
+    *ptr = atten;
+}
+
+void pe43711_att_2_set(void *bar1, uint8_t atten) {
+    uint32_t *ptr = bar1 + PE43711_2_ADDR;
+    *ptr = atten;
+}
+
+

+ 22 - 0
Devices/pe43711.h

@@ -0,0 +1,22 @@
+#include "tmsgheaders.h"
+
+#define PE43711_1_ADDR          0x1C
+#define PE43711_2_ADDR          0x20
+
+
+#define PE43711_ATTEN_0DB           0
+#define PE43711_ATTEN_025DB         1
+#define PE43711_ATTEN_05DB          2
+#define PE43711_ATTEN_1DB           4
+#define PE43711_ATTEN_2DB           8
+#define PE43711_ATTEN_4DB           16
+#define PE43711_ATTEN_8DB           32
+#define PE43711_ATTEN_16DB          64
+#define PE43711_ATTEN_3175DB        127
+
+
+void pe43711_att_1_init(void *bar1);
+void pe43711_att_2_init(void *bar1);
+
+void pe43711_att_1_set(void *bar1, uint8_t atten);
+void pe43711_att_2_set(void *bar1, uint8_t atten);

+ 2 - 0
main.c

@@ -105,6 +105,8 @@ int main(int argc, char *argv[])
     lmk04821_a_init(bar1);
     usleep(500);
     lmk04821_b_init(bar1);
+	pe43711_att_1_init(bar1);
+	pe43711_att_2_init(bar1);
     rst_for_fpga(bar1);
     shift_reg(bar1);
     ad9912_init(bar1);