#include "simstruc.h"
+/*masked fields macros*/
+#ifndef __val2mfld
+#define __val2mfld(mask,val) (((mask)&~((mask)<<1))*(val)&(mask))
+#endif
+#ifndef __mfld2val
+#define __mfld2val(mask,val) (((val)&(mask))/((mask)&~((mask)<<1)))
+#endif
+
/* Hardware specific */
/* BAR0 */
#define GPIOC_reg 0x54
bar_mapping_t bar4;
int status;
int ADC_enabled; // Which ADCs are enabled
- int DOut;
+ int DOut;
+ uint32_t IRC_mode;
} mf624_state_t;
//extern mf624_state_t mf624_state;
extern double ADC_read(mf624_state_t* mfst, adc_channel_t channel);
+extern uint32_t IRC_mode_change(mf624_state_t* mfst, uint32_t change_mask, uint32_t change_val);
+
int mf624_init(SimStruct *S);
int mf624_check(SimStruct *S);
int mf624_done();