Skip to content

Commit

Permalink
Update app
Browse files Browse the repository at this point in the history
  • Loading branch information
blavka committed May 30, 2018
1 parent 99b209b commit e811de3
Showing 1 changed file with 12 additions and 13 deletions.
25 changes: 12 additions & 13 deletions app/application.c
Expand Up @@ -100,14 +100,14 @@ void application_init(void)
bc_led_init(&led, GPIO_LED, false, false);
bc_led_set_mode(&led, BC_LED_MODE_OFF);

eeprom_init();

usb_talk_init();
usb_talk_subscribes(subscribes, sizeof(subscribes) / sizeof(usb_talk_subscribe_t));

bc_radio_init(BC_RADIO_MODE_GATEWAY);
bc_radio_set_event_handler(radio_event_handler, NULL);

eeprom_init();

#if CORE_MODULE
bc_module_power_init();

Expand Down Expand Up @@ -281,19 +281,14 @@ void bc_radio_on_info(uint64_t *id, char *firmware, char *version, bc_radio_mode

void bc_radio_on_sub(uint64_t *id, uint8_t *number, bc_radio_sub_pt_t *pt, char *topic)
{
static bc_radio_sub_pt_t subs_type[USB_TALK_SUB_LENGTH];

static int subs_pt_length = 0;

bc_led_pulse(&led, 10);

usb_talk_send_format("[\"$sub\", {\"topic\": \"" USB_TALK_DEVICE_ADDRESS "/%s\", \"pt\": %d}]\n", *id, topic, *pt);
bc_radio_sub_pt_t payload_type = *pt;

subs_type[subs_pt_length] = *pt;
usb_talk_add_sub(topic, radio_sub_callback, *number, (void *) payload_type); // Small trick, save number as pointer

usb_talk_add_sub(topic, radio_sub_callback, *number, &subs_type[subs_pt_length]);
usb_talk_send_format("[\"$sub\", {\"topic\": \"" USB_TALK_DEVICE_ADDRESS "/%s\", \"pt\": %d}]\n", *id, topic, *pt);

subs_pt_length++;
}

void bc_radio_pub_on_bool(uint64_t *id, char *subtopic, bool *value)
Expand Down Expand Up @@ -960,13 +955,13 @@ static void alias_list(uint64_t *id, usb_talk_payload_t *payload, usb_talk_subsc

static void radio_sub_callback(uint64_t *id, usb_talk_payload_t *payload, usb_talk_subscribe_t *sub)
{
bc_radio_sub_pt_t *pt = (bc_radio_sub_pt_t *) sub->param;
bc_radio_sub_pt_t payload_type = (bc_radio_sub_pt_t) sub->param;

uint8_t value[41];

size_t value_size;
size_t value_size = 0;

switch (*pt) {
switch (payload_type) {
case BC_RADIO_SUB_PT_BOOL:
{
if (!usb_talk_payload_get_bool(payload, (bool *) value))
Expand Down Expand Up @@ -1013,6 +1008,10 @@ static void radio_sub_callback(uint64_t *id, usb_talk_payload_t *payload, usb_ta

break;
}
case BC_RADIO_SUB_PT_NULL:
{
break;
}
default:
{
return;
Expand Down

0 comments on commit e811de3

Please sign in to comment.