]> git.zerfleddert.de Git - fnordlicht-mini/blobdiff - firmware/fnordlicht-firmware/remote.c
remove master mode, disable uart tx
[fnordlicht-mini] / firmware / fnordlicht-firmware / remote.c
index d6f54f7dba5dcb33c4a03847e7653d95dd609a35..fcaf672e298ec03ea748dae8375512e6504b6bdc 100644 (file)
@@ -63,9 +63,6 @@ struct remote_state_t
     uint8_t sync;
     uint8_t synced;
     struct pt thread;
-#if CONFIG_MASTER_MODE
-    struct pt master_thread;
-#endif
 
     /* int line */
     timer_t int_timer;
@@ -115,17 +112,6 @@ void remote_init(void)
     R_PORT &= ~_BV(INTPIN);
 #ifdef INIT_ZERO
     remote.int_state = INT_IDLE;
-
-    PT_INIT(&remote.master_thread);
-#endif
-
-#if CONFIG_MASTER_MODE == 1
-    /* check master state: read value of M_PIN1 */
-    if (!(M_PIN & _BV(M_PIN1)))
-        global_remote.master = true;
-#elif CONFIG_MASTER_MODE == 2
-    /* statically configure master mode */
-    global_remote.master = true;
 #endif
 }
 
@@ -209,90 +195,6 @@ static void send_resync(uint8_t addr)
     uart_putc(addr);
 }
 
-#if CONFIG_MASTER_MODE
-/* parameters for master mode script commands */
-#define MASTER_PROGRAMS 2
-static PROGMEM uint8_t master_parameters[] = {
-    /* first: colorwheel forward */
-    0,          /* program index */
-    1,          /* fade step */
-    2,          /* fade delay */
-    0,          /* fade sleep */
-    0, 0,       /* hue start (little endian) */
-    20, 0,      /* hue step (little endian) */
-    -1,         /* addr add */
-    255,        /* saturation */
-    255,        /* value */
-
-    /* first: colorwheel backward */
-    0,          /* program index */
-    1,          /* fade step */
-    2,          /* fade delay */
-    0,          /* fade sleep */
-    0, 0,       /* hue start (little endian) */
-    20, 0,      /* hue step (little endian) */
-    1,          /* addr add */
-    255,        /* saturation */
-    255,        /* value */
-};
-
-static PT_THREAD(remote_master_thread(struct pt *thread))
-{
-    static struct remote_msg_start_program_t msg;
-    static timer_t timer;
-    static uint16_t sleep;
-    static uint8_t *ptr;
-    static uint8_t idx;
-
-    PT_BEGIN(thread);
-
-    /* wait */
-    timer_set(&timer, MASTER_WAIT_BEFORE_SYNC);
-    while(!timer_expired(&timer))
-        PT_YIELD(thread);
-
-    /* start program on all devices */
-    msg.address = 0xff;
-    msg.cmd = REMOTE_CMD_START_PROGRAM;
-
-    while (1) {
-        ptr = &master_parameters[0];
-
-        for (idx = 0; idx < MASTER_PROGRAMS; idx++) {
-            /* stop current program and fading */
-            script_stop();
-            pwm_stop_fading();
-
-            /* start program colorwheel on all nodes */
-            msg.script = pgm_read_byte(ptr++);
-            /* load parameters */
-            for (uint8_t i = 0; i < sizeof(msg.params); i++)
-                msg.params.raw[i] = pgm_read_byte(ptr++);
-
-            /* send */
-            send_resync(MASTER_MODE_FIRST_ADDRESS);
-            PT_YIELD(thread);
-            send_msg((struct remote_msg_t *)&msg);
-
-            /* start program locally */
-            script_start(0, msg.script, &msg.params);
-
-            /* sleep */
-            sleep = MASTER_MODE_SLEEP;
-            while (sleep--) {
-                /* sleep 1s */
-                timer_set(&timer, 100);
-
-                while (!timer_expired(&timer))
-                    PT_YIELD(thread);
-            }
-        }
-    }
-
-    PT_END(thread);
-}
-#endif
-
 void remote_poll(void)
 {
     if (fifo_fill((fifo_t *)&global_uart.rx) > 0) {
@@ -310,9 +212,6 @@ void remote_poll(void)
             /* enable remote command thread */
             remote.synced = 1;
             PT_INIT(&remote.thread);
-#if CONFIG_MASTER_MODE
-            global_remote.master = false;
-#endif
         } else {
             /* just pass through data */
             uart_putc(data);
@@ -337,11 +236,6 @@ void remote_poll(void)
     if (remote.int_state == INT_PULLED_TIMER && timer_expired(&remote.int_timer)) {
         remote_release_int();
     }
-
-#if CONFIG_MASTER_MODE
-    if (global_remote.master)
-        PT_SCHEDULE(remote_master_thread(&remote.master_thread));
-#endif
 }
 
 void remote_pull_int(void)
Impressum, Datenschutz