]> rtime.felk.cvut.cz Git - mf624-simulink.git/blobdiff - mf624_SIMULINK.h
Final version of the model.
[mf624-simulink.git] / mf624_SIMULINK.h
index 019fbce4b53d410d7fd48ed33ce390e06300c187..55e5f3467d5baf231c77a9afbc9eaea807396d9d 100644 (file)
 #define DA6_reg                        0x2C
 #define DA7_reg                        0x2E
 
+/* BAR4 */
+#define CTR0MODE     0x00
+#define CTR1MODE     0x10
+#define CTR2MODE     0x20
+#define CTR3MODE     0x30
+#define CTR4MODE     0x40
+#define CTR0         0x04
+#define CTR1         0x14
+#define CTR2         0x24
+#define CTR3         0x34
+#define CTR4         0x44
+#define CTRXCTRL     0x60
+
 #define GPIOC_DACEN_mask       (1 << 26)
 #define GPIOC_LDAC_mask                (1 << 23)
 #define GPIOC_EOLC_mask                (1 << 17)
@@ -62,9 +75,33 @@ typedef struct mf624_state_t {
        bar_mapping_t bar4;
        int status;
        int ADC_enabled; // Which ADCs are enabled
+    int DOut;
 } mf624_state_t;
 
-extern mf624_state_t mf624_state;
+//extern mf624_state_t mf624_state;
+extern mf624_state_t* mfst;
+
+static uint32_t dac_channel2reg[] = {
+       [DA0] = DA0_reg,
+       [DA1] = DA1_reg,
+       [DA2] = DA2_reg,
+       [DA3] = DA3_reg,
+       [DA4] = DA4_reg,
+       [DA5] = DA5_reg,
+       [DA6] = DA6_reg,
+       [DA7] = DA7_reg,
+};
+
+static uint32_t adc_channel2reg[] = {
+       [AD0] = ADDATA0_reg,
+       [AD1] = ADDATA1_reg,
+       [AD2] = ADDATA2_reg,
+       [AD3] = ADDATA3_reg,
+       [AD4] = ADDATA4_reg,
+       [AD5] = ADDATA5_reg,
+       [AD6] = ADDATA6_reg,
+       [AD7] = ADDATA7_reg,
+};
 
 extern void print_8bin(int nr);