int main(void) { init(); LOG_INFO("\r\n== BeRTOS TNC\r\n"); LOG_INFO("== Starting.\r\n"); kfile_printf(&ser_port.fd, "\r\n== BeRTOS TNC\r\n"); kfile_printf(&ser_port.fd, "== Starting.\r\n" ); while (1) { ax25_poll(&ax25); if (ax25.dcd) { LED_BLUE_ON(); } else { LED_BLUE_OFF(); } if (afsk.sending) { LED_GREEN_ON(); } else { LED_GREEN_OFF(); } kiss_serial_poll(); kiss_queue_process(); } return 0; }
void vBlinkerRequest(uint8_t cmd) { switch (cmd & CMD_MASK) { case CMD_LED_ON: switch (cmd & LED_MASK) { case LED_RED: LED_RED_ON(); break; case LED_GREEN: LED_GREEN_ON(); break; case LED_BLUE: LED_BLUE_ON(); break; case LED_ALL: LEDS_ON(); break; } break; case CMD_LED_OFF: switch (cmd & LED_MASK) { case LED_RED: LED_RED_OFF(); break; case LED_GREEN: LED_GREEN_OFF(); break; case LED_BLUE: LED_BLUE_OFF(); break; case LED_ALL: LEDS_OFF(); break; } break; case CMD_LED_TOGGLE: switch (cmd & LED_MASK) { case LED_RED: LED_RED_TOGGLE(); break; case LED_GREEN: LED_GREEN_TOGGLE(); break; case LED_BLUE: LED_BLUE_TOGGLE(); break; case LED_ALL: LED_RED_TOGGLE(); LED_GREEN_TOGGLE(); LED_BLUE_TOGGLE(); break; } break; } }
/** Toggles LED * @param n iIndex of the LED to toggle. Red LED as index 0, green one 1 and blue one 2. */ void toggle_led( uint16_t n ) { led_state ^= (1 << n); if(led_state & 0x1) LED_RED_ON(); else LED_RED_OFF(); if(led_state & 0x2) LED_GREEN_ON(); else LED_GREEN_OFF(); if(led_state & 0x4) LED_BLUE_ON(); else LED_BLUE_OFF(); }
void led_change( void ) { LEDS_OFF(); switch (led_state) { case 0: LED_RED_ON(); break; case 1: LED_GREEN_ON(); break; case 2: LED_BLUE_ON(); break; case 3: LEDS_ON(); break; } led_state = (led_state + 1) & 0x3; }
static uint16_t slot_alarm(void) { slot_count++; if (slot_count>CTRL_SLOT) { // beacon slot_count = BEACON_SLOT; beacon_send(); } else if (slot_count<=DATA_SLOT_MAX) { // dataslot cc1101_gdo0_register_callback(slot_data); } else { // controlslot LED_GREEN_OFF(); LED_BLUE_ON(); cc1101_gdo0_register_callback(slot_control); } return 0; }
/* Main function */ int main(void) { int value_mg_x, value_mg_y, value_mg_z; /* setup all GPIOs */ gpio_setup(); /* initialise LIS3DSH */ lis3dsh_init(); /* infinite loop */ while (1) { /* get X, Y, Z values */ value_mg_x = ((lis3dsh_read_reg(ADD_REG_OUT_X_H) << 8) | lis3dsh_read_reg(ADD_REG_OUT_X_L)); value_mg_y = ((lis3dsh_read_reg(ADD_REG_OUT_Y_H) << 8) | lis3dsh_read_reg(ADD_REG_OUT_Y_L)); value_mg_z = ((lis3dsh_read_reg(ADD_REG_OUT_Z_H) << 8) | lis3dsh_read_reg(ADD_REG_OUT_Z_L)); /* transform X value from two's complement to 16-bit int */ value_mg_x = two_compl_to_int16(value_mg_x); /* convert X absolute value to mg value */ value_mg_x = value_mg_x * SENS_2G_RANGE_MG_PER_DIGIT; /* transform Y value from two's complement to 16-bit int */ value_mg_y = two_compl_to_int16(value_mg_y); /* convert Y absolute value to mg value */ value_mg_y = value_mg_y * SENS_2G_RANGE_MG_PER_DIGIT; /* transform Z value from two's complement to 16-bit int */ value_mg_z = two_compl_to_int16(value_mg_z); /* convert Z absolute value to mg value */ value_mg_z = value_mg_z * SENS_2G_RANGE_MG_PER_DIGIT; /* set X related LEDs according to specified threshold */ if (value_mg_x >= LED_TH_MG) { LED_BLUE_OFF(); LED_ORANGE_OFF(); LED_GREEN_OFF(); LED_RED_ON(); } else if (value_mg_x <= -LED_TH_MG) { LED_BLUE_OFF(); LED_ORANGE_OFF(); LED_RED_OFF(); LED_GREEN_ON(); } /* set Y related LEDs according to specified threshold */ if (value_mg_y >= LED_TH_MG) { LED_BLUE_OFF(); LED_RED_OFF(); LED_GREEN_OFF(); LED_ORANGE_ON(); } else if (value_mg_y <= -LED_TH_MG) { LED_RED_OFF(); LED_GREEN_OFF(); LED_ORANGE_OFF(); LED_BLUE_ON(); } /* set Z related LEDs according to specified threshold */ if (value_mg_z >= LED_TH_MG) { LED_BLUE_ON(); LED_ORANGE_ON(); LED_RED_ON(); LED_GREEN_ON(); } else if (value_mg_z <= -LED_TH_MG) { LED_BLUE_OFF(); LED_ORANGE_OFF(); LED_RED_OFF(); LED_GREEN_OFF(); } } return 0; }