typedef unsigned int u32;
/* fx2 register */
-xdata at 0xb5 volatile u8 OED;
-xdata at 0xb0 volatile u8 IOD;
+sfr at 0xb5 OED;
+sfr at 0xb0 IOD;
void power_on() {
IOD|=(1<<7);
}
-void main() {
+void slave_fifo_init() {
+
+ /* set bit 0 and 1 - fifo slave config */
+ IFCONFIG|=0x03;
+
+ /* async mode */
+ IFCONFIG|=0x04;
+
+ /* 8 bit fifo to all endpoints */
+ EP2FIFOCFG&=^(1<<0);
+ EP4FIFOCFG&=^(1<<0);
+ EP6FIFOCFG&=^(1<<0);
+ EP8FIFOCFG&=^(1<<0);
+
+ /* default indexed flag configuration:
+ *
+ * flag a: programmable level
+ * flag b: full
+ * flag c: empty
+ *
+ * todo: -> fixed configuration
+ */
+
+
+}
+
+void fx2_init() {
+
+ /* swicth on power */
+ power_on();
+
+ /* slave fifo init */
+ slave_fifo_init();
- power_on;
}
+void main() {
+
+ /* initialize the fx2 */
+ fx2_init();
+ /* do the job ... */
+ while(1) {
+ }
+
+}
+