aq_panel.c:  aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[7-1];
aq_panel.c:  aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[index].label = rs?name2label(BTN_PUMP):BTN_PDA_PUMP;
aq_panel.c:  aqdata->aqbuttons[index].name = BTN_PUMP;
aq_panel.c:  aqdata->aqbuttons[index].code = KEY_PUMP;
aq_panel.c:  aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[6-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = rs?name2label(BTN_SPA):BTN_PDA_SPA;
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_SPA;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_SPA;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[5-1];
aq_panel.c:  aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[index].label = rs?name2label(BTN_AUX1):BTN_PDA_AUX1;
aq_panel.c:  aqdata->aqbuttons[index].name = BTN_AUX1;
aq_panel.c:  aqdata->aqbuttons[index].code = KEY_AUX1;
aq_panel.c:  aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[4-1];
aq_panel.c:  aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[index].label = rs?name2label(BTN_AUX2):BTN_PDA_AUX2;
aq_panel.c:  aqdata->aqbuttons[index].name = BTN_AUX2;
aq_panel.c:  aqdata->aqbuttons[index].code = KEY_AUX2;
aq_panel.c:  aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[3-1];
aq_panel.c:  aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[index].label = rs?name2label(BTN_AUX3):BTN_PDA_AUX3;
aq_panel.c:  aqdata->aqbuttons[index].name = BTN_AUX3;
aq_panel.c:  aqdata->aqbuttons[index].code = KEY_AUX3;
aq_panel.c:  aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[9-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = rs?name2label(BTN_AUX4):BTN_PDA_AUX4;
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUX4;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUX4;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[8-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = rs?name2label(BTN_AUX5):BTN_PDA_AUX5;
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUX5;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUX5;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[12-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = rs?name2label(BTN_AUX6):BTN_PDA_AUX6;
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUX6;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUX6;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[1-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = rs?name2label(BTN_AUX7):BTN_PDA_AUX7;
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUX7;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUX7;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index-4].led = &aqdata->aqualinkleds[2-1]; // Change
aq_panel.c:    aqdata->aqbuttons[index-4].code = KEY_RS16_AUX4;
aq_panel.c:    aqdata->aqbuttons[index-3].led = &aqdata->aqualinkleds[11-1]; // Change
aq_panel.c:    aqdata->aqbuttons[index-3].code = KEY_RS16_AUX5;
aq_panel.c:    aqdata->aqbuttons[index-2].led = &aqdata->aqualinkleds[10-1]; // Change
aq_panel.c:    aqdata->aqbuttons[index-2].code = KEY_RS16_AUX6;
aq_panel.c:    aqdata->aqbuttons[index-1].led = &aqdata->aqualinkleds[9-1]; // change
aq_panel.c:    aqdata->aqbuttons[index-1].code = KEY_RS16_AUX7;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[8-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB1); // AUX8
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB1;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB1;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[12-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB2); // AUX9
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB2;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB2;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[1-1];
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB3);  // AUX10
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB3;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB3;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[13-1];  
aq_panel.c:    aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB4);  // AUX11
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB4;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB4;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[21-1];  // doesn't actually exist
aq_panel.c:    aqdata->aqbuttons[index].led->state = OFF;  // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB5);
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB5;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB5;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[22-1];  // doesn't actually exist
aq_panel.c:    aqdata->aqbuttons[index].led->state = OFF; // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB6);
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB6;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB6;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[23-1];  // doesn't actually exist
aq_panel.c:    aqdata->aqbuttons[index].led->state = OFF; // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB7);
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB7;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB7;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[24-1]; // doesn't actually exist
aq_panel.c:    aqdata->aqbuttons[index].led->state = OFF; // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:    aqdata->aqbuttons[index].label = name2label(BTN_AUXB8);
aq_panel.c:    aqdata->aqbuttons[index].name = BTN_AUXB8;
aq_panel.c:    aqdata->aqbuttons[index].code = KEY_AUXB8;
aq_panel.c:    aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:      aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[12-1];
aq_panel.c:      aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:      aqdata->aqbuttons[index].label = name2label(BTN_AUX6);
aq_panel.c:      aqdata->aqbuttons[index].name = BTN_AUX6;
aq_panel.c:      aqdata->aqbuttons[index].code = KEY_AUX6;
aq_panel.c:      aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:        aqdata->aqbuttons[i].name = aqdata->aqbuttons[i+1].name;
aq_panel.c:        aqdata->aqbuttons[i].label = aqdata->aqbuttons[i+1].label;
aq_panel.c:  aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[15-1];
aq_panel.c:  aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[index].label = rs?name2label(BTN_POOL_HTR):BTN_PDA_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[index].name = BTN_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[index].code = KEY_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[17-1];
aq_panel.c:  aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[index].label = rs?name2label(BTN_SPA_HTR):BTN_PDA_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[index].name = BTN_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[index].code = KEY_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[index].led = &aqdata->aqualinkleds[19-1];
aq_panel.c:  aqdata->aqbuttons[index].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[index].label = rs?name2label(BTN_SOLAR_HTR):BTN_PDA_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[index].name = BTN_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[index].code = KEY_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[index].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->total_buttons = index;
aq_panel.c:  //aqdata->single_device = !combo;
aq_panel.c:    aqdata->rs16_vbutton_start = 13 - (combo?0:1);
aq_panel.c:    aqdata->rs16_vbutton_end = 16 - (combo?0:1);
aq_panel.c:    aqdata->pool_heater_index = index-3;
aq_panel.c:    aqdata->spa_heater_index = index-2;
aq_panel.c:    aqdata->solar_heater_index = index-1;
aq_panel.c:  aqdata->aqbuttons[0].led = &aqdata->aqualinkleds[7-1];
aq_panel.c:  aqdata->aqbuttons[0].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[0].label = name2label(BTN_PUMP);
aq_panel.c:  aqdata->aqbuttons[0].name = BTN_PUMP;
aq_panel.c:  aqdata->aqbuttons[0].code = KEY_PUMP;
aq_panel.c:  aqdata->aqbuttons[0].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[1].led = &aqdata->aqualinkleds[6-1];
aq_panel.c:  aqdata->aqbuttons[1].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[1].label = name2label(BTN_SPA);
aq_panel.c:  aqdata->aqbuttons[1].name = BTN_SPA;
aq_panel.c:  aqdata->aqbuttons[1].code = KEY_SPA;
aq_panel.c:  aqdata->aqbuttons[1].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[2].led = &aqdata->aqualinkleds[5-1];
aq_panel.c:  aqdata->aqbuttons[2].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[2].label = name2label(BTN_AUX1);
aq_panel.c:  aqdata->aqbuttons[2].name = BTN_AUX1;
aq_panel.c:  aqdata->aqbuttons[2].code = KEY_AUX1;
aq_panel.c:  aqdata->aqbuttons[2].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[3].led = &aqdata->aqualinkleds[4-1];
aq_panel.c:  aqdata->aqbuttons[3].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[3].label = name2label(BTN_AUX2);
aq_panel.c:  aqdata->aqbuttons[3].name = BTN_AUX2;
aq_panel.c:  aqdata->aqbuttons[3].code = KEY_AUX2;
aq_panel.c:  aqdata->aqbuttons[3].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[4].led = &aqdata->aqualinkleds[3-1];
aq_panel.c:  aqdata->aqbuttons[4].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[4].label = name2label(BTN_AUX3);
aq_panel.c:  aqdata->aqbuttons[4].name = BTN_AUX3;
aq_panel.c:  aqdata->aqbuttons[4].code = KEY_AUX3;
aq_panel.c:  aqdata->aqbuttons[4].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[5].led = &aqdata->aqualinkleds[9-1];
aq_panel.c:  aqdata->aqbuttons[5].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[5].label = name2label(BTN_AUX4);
aq_panel.c:  aqdata->aqbuttons[5].name = BTN_AUX4;
aq_panel.c:  aqdata->aqbuttons[5].code = KEY_AUX4;
aq_panel.c:  aqdata->aqbuttons[5].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[6].led = &aqdata->aqualinkleds[8-1];
aq_panel.c:  aqdata->aqbuttons[6].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[6].label = name2label(BTN_AUX5);
aq_panel.c:  aqdata->aqbuttons[6].name = BTN_AUX5;
aq_panel.c:  aqdata->aqbuttons[6].code = KEY_AUX5;
aq_panel.c:  aqdata->aqbuttons[6].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[7].led = &aqdata->aqualinkleds[12-1];
aq_panel.c:  aqdata->aqbuttons[7].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[7].label = name2label(BTN_AUX6);
aq_panel.c:  aqdata->aqbuttons[7].name = BTN_AUX6;
aq_panel.c:  aqdata->aqbuttons[7].code = KEY_AUX6;
aq_panel.c:  aqdata->aqbuttons[7].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[8].led = &aqdata->aqualinkleds[1-1];
aq_panel.c:  aqdata->aqbuttons[8].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[8].label = name2label(BTN_AUX7);
aq_panel.c:  aqdata->aqbuttons[8].name = BTN_AUX7;
aq_panel.c:  aqdata->aqbuttons[8].code = KEY_AUX7;
aq_panel.c:  aqdata->aqbuttons[8].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[9].led = &aqdata->aqualinkleds[15-1];
aq_panel.c:  aqdata->aqbuttons[9].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[9].label = name2label(BTN_POOL_HTR);
aq_panel.c:  aqdata->aqbuttons[9].name = BTN_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[9].code = KEY_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[9].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[10].led = &aqdata->aqualinkleds[17-1];
aq_panel.c:  aqdata->aqbuttons[10].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[10].label = name2label(BTN_SPA_HTR);
aq_panel.c:  aqdata->aqbuttons[10].name = BTN_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[10].code = KEY_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[10].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[11].led = &aqdata->aqualinkleds[19-1];
aq_panel.c:  aqdata->aqbuttons[11].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[11].label = name2label(BTN_SOLAR_HTR);
aq_panel.c:  aqdata->aqbuttons[11].name = BTN_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[11].code = KEY_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[11].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[0].pda_label = BTN_PDA_PUMP;
aq_panel.c:  aqdata->aqbuttons[1].pda_label = BTN_PDA_SPA;
aq_panel.c:  aqdata->aqbuttons[2].pda_label = BTN_PDA_AUX1;
aq_panel.c:  aqdata->aqbuttons[3].pda_label = BTN_PDA_AUX2;
aq_panel.c:  aqdata->aqbuttons[4].pda_label = BTN_PDA_AUX3;
aq_panel.c:  aqdata->aqbuttons[5].pda_label = BTN_PDA_AUX4;
aq_panel.c:  aqdata->aqbuttons[6].pda_label = BTN_PDA_AUX5;
aq_panel.c:  aqdata->aqbuttons[7].pda_label = BTN_PDA_AUX6;
aq_panel.c:  aqdata->aqbuttons[7].pda_label = BTN_PDA_AUX6;
aq_panel.c:  aqdata->aqbuttons[8].pda_label = BTN_PDA_AUX7;
aq_panel.c:  aqdata->aqbuttons[9].pda_label = BTN_PDA_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[10].pda_label = BTN_PDA_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[11].pda_label = BTN_PDA_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[5].led = &aqdata->aqualinkleds[2-1]; // Change
aq_panel.c:  aqdata->aqbuttons[5].code = KEY_RS16_AUX4;
aq_panel.c:  aqdata->aqbuttons[6].led = &aqdata->aqualinkleds[11-1]; // Change
aq_panel.c:  aqdata->aqbuttons[6].code = KEY_RS16_AUX5;
aq_panel.c:  aqdata->aqbuttons[7].led = &aqdata->aqualinkleds[10-1]; // Change
aq_panel.c:  aqdata->aqbuttons[7].code = KEY_RS16_AUX6;
aq_panel.c:  aqdata->aqbuttons[8].led = &aqdata->aqualinkleds[9-1]; // change
aq_panel.c:  aqdata->aqbuttons[8].code = KEY_RS16_AUX7;
aq_panel.c:  aqdata->aqbuttons[9].led = &aqdata->aqualinkleds[8-1];
aq_panel.c:  aqdata->aqbuttons[9].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[9].label = name2label(BTN_AUXB1); // AUX8
aq_panel.c:  aqdata->aqbuttons[9].name = BTN_AUXB1;
aq_panel.c:  aqdata->aqbuttons[9].code = KEY_AUXB1;
aq_panel.c:  aqdata->aqbuttons[9].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[10].led = &aqdata->aqualinkleds[12-1];
aq_panel.c:  aqdata->aqbuttons[10].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[10].label = name2label(BTN_AUXB2); // AUX9
aq_panel.c:  aqdata->aqbuttons[10].name = BTN_AUXB2;
aq_panel.c:  aqdata->aqbuttons[10].code = KEY_AUXB2;
aq_panel.c:  aqdata->aqbuttons[10].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[11].led = &aqdata->aqualinkleds[1-1];
aq_panel.c:  aqdata->aqbuttons[11].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[11].label = name2label(BTN_AUXB3);  // AUX10
aq_panel.c:  aqdata->aqbuttons[11].name = BTN_AUXB3;
aq_panel.c:  aqdata->aqbuttons[11].code = KEY_AUXB3;
aq_panel.c:  aqdata->aqbuttons[11].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[12].led = &aqdata->aqualinkleds[13-1];
aq_panel.c:  aqdata->aqbuttons[12].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[12].label = name2label(BTN_AUXB4);  // AUX11
aq_panel.c:  aqdata->aqbuttons[12].name = BTN_AUXB4;
aq_panel.c:  aqdata->aqbuttons[12].code = KEY_AUXB4;
aq_panel.c:  aqdata->aqbuttons[12].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[13].led = &aqdata->aqualinkleds[21-1];  // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[13].led->state = OFF;  // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:  aqdata->aqbuttons[13].label = name2label(BTN_AUXB5);
aq_panel.c:  aqdata->aqbuttons[13].name = BTN_AUXB5;
aq_panel.c:  aqdata->aqbuttons[13].code = KEY_AUXB5;
aq_panel.c:  aqdata->aqbuttons[13].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[14].led = &aqdata->aqualinkleds[22-1];  // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[14].led->state = OFF; // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:  aqdata->aqbuttons[14].label = name2label(BTN_AUXB6);
aq_panel.c:  aqdata->aqbuttons[14].name = BTN_AUXB6;
aq_panel.c:  aqdata->aqbuttons[14].code = KEY_AUXB6;
aq_panel.c:  aqdata->aqbuttons[14].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[15].led = &aqdata->aqualinkleds[23-1];  // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[15].led->state = OFF; // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:  aqdata->aqbuttons[15].label = name2label(BTN_AUXB7);
aq_panel.c:  aqdata->aqbuttons[15].name = BTN_AUXB7;
aq_panel.c:  aqdata->aqbuttons[15].code = KEY_AUXB7;
aq_panel.c:  aqdata->aqbuttons[15].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[16].led = &aqdata->aqualinkleds[24-1]; // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[16].led->state = OFF; // Since there is no LED in data, set to off and allow messages to turn it on
aq_panel.c:  aqdata->aqbuttons[16].label = name2label(BTN_AUXB8);
aq_panel.c:  aqdata->aqbuttons[16].name = BTN_AUXB8;
aq_panel.c:  aqdata->aqbuttons[16].code = KEY_AUXB8;
aq_panel.c:  aqdata->aqbuttons[16].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[17].led = &aqdata->aqualinkleds[15-1];
aq_panel.c:  aqdata->aqbuttons[17].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[17].label = name2label(BTN_POOL_HTR);
aq_panel.c:  aqdata->aqbuttons[17].name = BTN_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[17].code = KEY_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[17].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[18].led = &aqdata->aqualinkleds[17-1];
aq_panel.c:  aqdata->aqbuttons[18].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[18].label = name2label(BTN_SPA_HTR);
aq_panel.c:  aqdata->aqbuttons[18].name = BTN_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[18].code = KEY_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[18].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[19].led = &aqdata->aqualinkleds[19-1];
aq_panel.c:  aqdata->aqbuttons[19].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[19].label = name2label(BTN_SOLAR_HTR);
aq_panel.c:  aqdata->aqbuttons[19].name = BTN_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[19].code = KEY_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[19].dz_idx = DZ_NULL_IDX;
aq_panel.c:    aqdata->aqbuttons[9].pda_label = BTN_PDA_AUX1;
aq_panel.c:    aqdata->aqbuttons[10].pda_label = BTN_PDA_AUX2;
aq_panel.c:    aqdata->aqbuttons[11].pda_label = BTN_PDA_AUX3;
aq_panel.c:    aqdata->aqbuttons[12].pda_label = BTN_PDA_AUX4;
aq_panel.c:    aqdata->aqbuttons[13].pda_label = BTN_PDA_AUX5;
aq_panel.c:    aqdata->aqbuttons[14].pda_label = BTN_PDA_AUX6;
aq_panel.c:    aqdata->aqbuttons[15].pda_label = BTN_PDA_AUX7;
aq_panel.c:    aqdata->aqbuttons[16].pda_label = BTN_PDA_AUX7;
aq_panel.c:    aqdata->aqbuttons[17].pda_label = BTN_PDA_POOL_HTR;
aq_panel.c:    aqdata->aqbuttons[18].pda_label = BTN_PDA_SPA_HTR;
aq_panel.c:    aqdata->aqbuttons[19].pda_label = BTN_PDA_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[0].led = &aqdata->aqualinkleds[7-1];
aq_panel.c:  aqdata->aqbuttons[0].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[0].label = name2label(BTN_PUMP);
aq_panel.c:  aqdata->aqbuttons[0].name = BTN_PUMP;
aq_panel.c:  aqdata->aqbuttons[0].code = KEY_PUMP;
aq_panel.c:  aqdata->aqbuttons[0].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[0].pda_label = BTN_PDA_PUMP;
aq_panel.c:  aqdata->aqbuttons[1].led = &aqdata->aqualinkleds[6-1];
aq_panel.c:  aqdata->aqbuttons[1].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[1].label = name2label(BTN_SPA);
aq_panel.c:  aqdata->aqbuttons[1].name = BTN_SPA;
aq_panel.c:  aqdata->aqbuttons[1].code = KEY_SPA;
aq_panel.c:  aqdata->aqbuttons[1].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[1].pda_label = BTN_PDA_SPA;
aq_panel.c:  aqdata->aqbuttons[2].led = &aqdata->aqualinkleds[5-1];
aq_panel.c:  aqdata->aqbuttons[2].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[2].label = name2label(BTN_AUX1);
aq_panel.c:  aqdata->aqbuttons[2].name = BTN_AUX1;
aq_panel.c:  aqdata->aqbuttons[2].code = KEY_AUX1;
aq_panel.c:  aqdata->aqbuttons[2].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[2].pda_label = BTN_PDA_AUX1;
aq_panel.c:  aqdata->aqbuttons[3].led = &aqdata->aqualinkleds[4-1];
aq_panel.c:  aqdata->aqbuttons[3].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[3].label = name2label(BTN_AUX2);
aq_panel.c:  aqdata->aqbuttons[3].name = BTN_AUX2;
aq_panel.c:  aqdata->aqbuttons[3].code = KEY_AUX2;
aq_panel.c:  aqdata->aqbuttons[3].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[3].pda_label = BTN_PDA_AUX2;
aq_panel.c:  aqdata->aqbuttons[4].led = &aqdata->aqualinkleds[3-1];
aq_panel.c:  aqdata->aqbuttons[4].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[4].label = BTN_AUX3;
aq_panel.c:  aqdata->aqbuttons[4].name = BTN_AUX3;
aq_panel.c:  aqdata->aqbuttons[4].code = KEY_AUX3;
aq_panel.c:  aqdata->aqbuttons[4].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[4].pda_label = BTN_PDA_AUX3;
aq_panel.c:  aqdata->aqbuttons[5].led = &aqdata->aqualinkleds[2-1]; // Change
aq_panel.c:  aqdata->aqbuttons[5].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[5].label = name2label(BTN_AUX4);
aq_panel.c:  aqdata->aqbuttons[5].name = BTN_AUX4;
aq_panel.c:  aqdata->aqbuttons[5].code = KEY_AUX4;
aq_panel.c:  aqdata->aqbuttons[5].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[5].pda_label = BTN_PDA_AUX4;
aq_panel.c:  aqdata->aqbuttons[6].led = &aqdata->aqualinkleds[11-1]; // Change
aq_panel.c:  aqdata->aqbuttons[6].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[6].label = name2label(BTN_AUX5);
aq_panel.c:  aqdata->aqbuttons[6].name = BTN_AUX5;
aq_panel.c:  aqdata->aqbuttons[6].code = KEY_AUX5;
aq_panel.c:  aqdata->aqbuttons[6].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[6].pda_label = BTN_PDA_AUX5;
aq_panel.c:  aqdata->aqbuttons[7].led = &aqdata->aqualinkleds[10-1]; // Change
aq_panel.c:  aqdata->aqbuttons[7].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[7].label = name2label(BTN_AUX6);
aq_panel.c:  aqdata->aqbuttons[7].name = BTN_AUX6;
aq_panel.c:  aqdata->aqbuttons[7].code = KEY_AUX6;
aq_panel.c:  aqdata->aqbuttons[7].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[7].pda_label = BTN_PDA_AUX6;
aq_panel.c:  aqdata->aqbuttons[8].led = &aqdata->aqualinkleds[9-1]; // change
aq_panel.c:  aqdata->aqbuttons[8].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[8].label = name2label(BTN_AUX7);
aq_panel.c:  aqdata->aqbuttons[8].name = BTN_AUX7;
aq_panel.c:  aqdata->aqbuttons[8].code = KEY_AUX7;
aq_panel.c:  aqdata->aqbuttons[8].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[8].pda_label = BTN_PDA_AUX7;
aq_panel.c:  aqdata->aqbuttons[9].led = &aqdata->aqualinkleds[8-1];
aq_panel.c:  aqdata->aqbuttons[9].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[9].label = name2label(BTN_AUXB1); // AUX8
aq_panel.c:  aqdata->aqbuttons[9].name = BTN_AUXB1;
aq_panel.c:  aqdata->aqbuttons[9].code = KEY_AUXB1;
aq_panel.c:  aqdata->aqbuttons[9].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[9].pda_label = BTN_PDA_AUX1;
aq_panel.c:  aqdata->aqbuttons[10].led = &aqdata->aqualinkleds[12-1];
aq_panel.c:  aqdata->aqbuttons[10].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[10].label = name2label(BTN_AUXB2); // AUX9
aq_panel.c:  aqdata->aqbuttons[10].name = BTN_AUXB2;
aq_panel.c:  aqdata->aqbuttons[10].code = KEY_AUXB2;
aq_panel.c:  aqdata->aqbuttons[10].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[10].pda_label = BTN_PDA_AUX2;
aq_panel.c:  aqdata->aqbuttons[11].led = &aqdata->aqualinkleds[1-1];
aq_panel.c:  aqdata->aqbuttons[11].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[11].label = name2label(BTN_AUXB3);  // AUX10
aq_panel.c:  aqdata->aqbuttons[11].name = BTN_AUXB3;
aq_panel.c:  aqdata->aqbuttons[11].code = KEY_AUXB3;
aq_panel.c:  aqdata->aqbuttons[11].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[11].pda_label = BTN_PDA_AUX3;
aq_panel.c:  aqdata->aqbuttons[12].led = &aqdata->aqualinkleds[13-1];
aq_panel.c:  aqdata->aqbuttons[12].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[12].label = name2label(BTN_AUXB4);  // AUX11
aq_panel.c:  aqdata->aqbuttons[12].name = BTN_AUXB4;
aq_panel.c:  aqdata->aqbuttons[12].code = KEY_AUXB4;
aq_panel.c:  aqdata->aqbuttons[12].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[12].pda_label = BTN_PDA_AUX4;
aq_panel.c:  aqdata->aqbuttons[13].led = &aqdata->aqualinkleds[21-1];  // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[13].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[13].label = name2label(BTN_AUXB5);
aq_panel.c:  aqdata->aqbuttons[13].name = BTN_AUXB5;
aq_panel.c:  aqdata->aqbuttons[13].code = KEY_AUXB5;
aq_panel.c:  aqdata->aqbuttons[13].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[13].pda_label = BTN_PDA_AUX5;
aq_panel.c:  aqdata->aqbuttons[14].led = &aqdata->aqualinkleds[22-1];  // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[14].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[14].label = name2label(BTN_AUXB6);
aq_panel.c:  aqdata->aqbuttons[14].name = BTN_AUXB6;
aq_panel.c:  aqdata->aqbuttons[14].code = KEY_AUXB6;
aq_panel.c:  aqdata->aqbuttons[14].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[14].pda_label = BTN_PDA_AUX6;
aq_panel.c:  aqdata->aqbuttons[15].led = &aqdata->aqualinkleds[23-1];  // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[15].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[15].label = name2label(BTN_AUXB7);
aq_panel.c:  aqdata->aqbuttons[15].name = BTN_AUXB7;
aq_panel.c:  aqdata->aqbuttons[15].code = KEY_AUXB7;
aq_panel.c:  aqdata->aqbuttons[15].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[15].pda_label = BTN_PDA_AUX7;
aq_panel.c:  aqdata->aqbuttons[16].led = &aqdata->aqualinkleds[24-1]; // doesn't actually exist
aq_panel.c:  aqdata->aqbuttons[16].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[16].label = name2label(BTN_AUXB8);
aq_panel.c:  aqdata->aqbuttons[16].name = BTN_AUXB8;
aq_panel.c:  aqdata->aqbuttons[16].code = KEY_AUXB8;
aq_panel.c:  aqdata->aqbuttons[16].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[16].pda_label = BTN_PDA_AUX7;
aq_panel.c:  aqdata->aqbuttons[17].led = &aqdata->aqualinkleds[15-1];
aq_panel.c:  aqdata->aqbuttons[17].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[17].label = name2label(BTN_POOL_HTR);
aq_panel.c:  aqdata->aqbuttons[17].name = BTN_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[17].code = KEY_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[17].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[17].pda_label = BTN_PDA_POOL_HTR;
aq_panel.c:  aqdata->aqbuttons[18].led = &aqdata->aqualinkleds[17-1];
aq_panel.c:  aqdata->aqbuttons[18].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[18].label = name2label(BTN_SPA_HTR);
aq_panel.c:  aqdata->aqbuttons[18].name = BTN_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[18].code = KEY_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[18].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[18].pda_label = BTN_PDA_SPA_HTR;
aq_panel.c:  aqdata->aqbuttons[19].led = &aqdata->aqualinkleds[19-1];
aq_panel.c:  aqdata->aqbuttons[19].led->state = LED_S_UNKNOWN;
aq_panel.c:  aqdata->aqbuttons[19].label = name2label(BTN_SOLAR_HTR);
aq_panel.c:  aqdata->aqbuttons[19].name = BTN_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[19].code = KEY_SOLAR_HTR;
aq_panel.c:  aqdata->aqbuttons[19].dz_idx = DZ_NULL_IDX;
aq_panel.c:  aqdata->aqbuttons[19].pda_label = BTN_PDA_SOLAR_HTR;
aq_programmer.c:      if ( aqdata->temp_units == CELSIUS ) {
aq_programmer.c:          aqdata->spa_htr_set_point != TEMP_UNKNOWN &&
aq_programmer.c:          min <= aqdata->spa_htr_set_point) 
aq_programmer.c:        min = aqdata->spa_htr_set_point + 1;
aq_programmer.c:      if ( aqdata->temp_units == CELSIUS ) {
aq_programmer.c:          aqdata->pool_htr_set_point != TEMP_UNKNOWN &&
aq_programmer.c:          max >= aqdata->pool_htr_set_point) 
aq_programmer.c:        max = aqdata->pool_htr_set_point - 1;
aq_programmer.c:      if ( aqdata->temp_units == CELSIUS ) {
aqualinkd.c:  // Loop over only aqdata->aqbuttons[13] to aqdata->aqbuttons[16]
config.c:                aqdata->aqbuttons[num].label = cleanalloc(indx+1);
config.c:                aqdata->aqbuttons[num].dz_idx = strtoul(indx+1, NULL, 10);
config.c:                aqdata->aqbuttons[num].pda_label = cleanalloc(indx+1);
config.c:      aqdata->aqbuttons[num].label = cleanalloc(value);
config.c:      aqdata->aqbuttons[num].dz_idx = strtoul(value, NULL, 10);
config.c:      //aqdata->aqbuttons[num].pda_label = cleanalloc(value);
config.c:      aqdata->aqbuttons[num].label = cleanalloc(value);
config.c:      if (aqdata->num_lights < MAX_LIGHTS) {
config.c:          aqdata->lights[aqdata->num_lights].button = &aqdata->aqbuttons[num];
config.c:          aqdata->lights[aqdata->num_lights].lightType = type;
config.c:          aqdata->num_lights++;
config.c:      //aqdata->aqbuttons[num].pda_label = cleanalloc(value);
config.c:        aqdata->pumps[pi].button = &aqdata->aqbuttons[num];
config.c:        aqdata->pumps[pi].pumpID = strtoul(cleanalloc(value), NULL, 16);
config.c:        aqdata->pumps[pi].pumpIndex = pi+1;
config.c:        //aqdata->pumps[pi].buttonID = num;
config.c:        if (aqdata->pumps[pi].pumpID < 119)
config.c:          aqdata->pumps[pi].ptype = PENTAIR;
config.c:          aqdata->pumps[pi].ptype = JANDY;
config.c:  //aqdata->num_pumps
config.c:  for (pi=0; pi < aqdata->num_pumps; pi++) {
config.c:    if (aqdata->pumps[pi].button == &aqdata->aqbuttons[button]) {
config.c:      return &aqdata->pumps[pi];
config.c:  if (aqdata->num_pumps < MAX_PUMPS) {
config.c:    aqdata->pumps[aqdata->num_pumps].button = &aqdata->aqbuttons[button];
config.c:    aqdata->pumps[aqdata->num_pumps].pumpType = PT_UNKNOWN;
config.c:    aqdata->pumps[aqdata->num_pumps].rpm = TEMP_UNKNOWN;
config.c:    aqdata->pumps[aqdata->num_pumps].watts = TEMP_UNKNOWN;
config.c:    aqdata->pumps[aqdata->num_pumps].gpm = TEMP_UNKNOWN;
config.c:    aqdata->num_pumps++;
config.c:    return &aqdata->pumps[aqdata->num_pumps-1];
config.c:    fprintf(fp, "button_%.2d_label = %s\n", i+1, aqdata->aqbuttons[i].label);
config.c:    if (aqdata->aqbuttons[i].dz_idx > 0)
config.c:      fprintf(fp, "button_%.2d_dzidx = %d\n", i+1, aqdata->aqbuttons[i].dz_idx);
config.c:    if (aqdata->aqbuttons[i].pda_label != NULL)
config.c:      fprintf(fp, "button_%.2d_PDA_label = %s\n", i+1, aqdata->aqbuttons[i].pda_label);
config_new.c:    indx = sprintf(bufr, "button_%.2d_label = %s\n", i+1, aqdata->aqbuttons[i].label);
config_new.c:    indx += sprintf(&bufr[indx], "button_%.2d_dzidx = %d\n", i+1, aqdata->aqbuttons[i].dz_idx);
config_new.c:    if (aqdata->aqbuttons[i].pda_label != NULL)
config_new.c:      indx += sprintf(&bufr[indx], "button_%.2d_PDA_label = %s\n", i+1, aqdata->aqbuttons[i].pda_label);
config_new.c:      if ( aqdata->pumps[pi].button == &aqdata->aqbuttons[i] ) {
config_new.c:        indx += sprintf(&bufr[indx],"button_%.2d_pumpID = 0x%02hhx\n", i+1, aqdata->pumps[pi].pumpID);
config_new.c:        indx += sprintf(&bufr[indx],"button_%.2d_pumpIndex = %d\n", i+1, aqdata->pumps[pi].pumpIndex);
config_new.c:    for (j = 0; j < aqdata->num_pumps; j++) {
config_new.c:      if (aqdata->pumps[j].button == &aqdata->aqbuttons[i]) {
config_new.c:        sprintf(vsp,"0x%02hhx",aqdata->pumps[j].pumpID);
config_new.c:        alid = aqdata->pumps[j].pumpIndex;
config_new.c:                           aqdata->aqbuttons[i].name, aqdata->aqbuttons[i].label, vsp, alid, aqdata->aqbuttons[i].dz_idx,
config_new.c:                           aqdata->aqbuttons[i].name, aqdata->aqbuttons[i].label, vsp, alid,
config_new.c:                          aqdata->aqbuttons[i].pda_label, aqdata->aqbuttons[i].dz_idx  );
config_new.c:    for (j = 0; j < aqdata->num_pumps; j++) {
config_new.c:      if (aqdata->pumps[j].button == &aqdata->aqbuttons[i]) {
config_new.c:        vsp = aqdata->pumps[j].pumpID;
config_new.c:        alid = aqdata->pumps[j].pumpIndex;
config_new.c:      indx += sprintf(&bufr[indx], "{\"button\":\"%d\",\"label\":\"%s\",\"dzidx\":\"%d\"",i,aqdata->aqbuttons[i].label,aqdata->aqbuttons[i].dz_idx);
config_new.c:                           aqdata->aqbuttons[i].name, aqdata->aqbuttons[i].label, vsp, alid,
config_new.c:                          aqdata->aqbuttons[i].pda_label, aqdata->aqbuttons[i].dz_idx  );
config_new.c:      aqdata->aqbuttons[num].label = cleanalloc(value);
config_new.c:      aqdata->aqbuttons[num].dz_idx = strtoul(value, NULL, 10);
config_new.c:      aqdata->aqbuttons[num].pda_label = cleanalloc(value);
config_new.c:  //aqdata->num_pumps
config_new.c:  for (pi=0; pi < aqdata->num_pumps; pi++) {
config_new.c:    if (aqdata->pumps[pi].button == &aqdata->aqbuttons[button]) {
config_new.c:      return &aqdata->pumps[pi];
config_new.c:  if (aqdata->num_pumps < MAX_PUMPS) {
config_new.c:    aqdata->pumps[aqdata->num_pumps].button = &aqdata->aqbuttons[button];
config_new.c:    aqdata->pumps[aqdata->num_pumps].pumpType = PT_UNKNOWN;
config_new.c:    aqdata->pumps[aqdata->num_pumps].rpm = TEMP_UNKNOWN;
config_new.c:    aqdata->pumps[aqdata->num_pumps].watts = TEMP_UNKNOWN;
config_new.c:    aqdata->pumps[aqdata->num_pumps].gpm = TEMP_UNKNOWN;
config_new.c:    aqdata->num_pumps++;
config_new.c:    return &aqdata->pumps[aqdata->num_pumps-1];
devices_jandy.c:  if (packet[3] == CMD_PERCENT && aqdata->active_thread.thread_id == 0 && packet[4] != 0xFF) {
devices_jandy.c:      if (aqdata->swg_percent != (int)packet[4]) {
devices_jandy.c:        aqdata->swg_percent = (int)packet[4];
devices_jandy.c:      if (aqdata->swg_percent != (int)packet[4]) {
devices_jandy.c:        aqdata->swg_percent = (int)packet[4];
devices_jandy.c:    if (aqdata->swg_percent > 100)
devices_jandy.c:      aqdata->boost = true;
devices_jandy.c:      aqdata->boost = false;
devices_jandy.c:    aqdata->ar_swg_device_status = packet[5];
devices_jandy.c:    if (aqdata->swg_delayed_percent != TEMP_UNKNOWN && aqdata->ar_swg_device_status == SWG_STATUS_ON) { // We have a delayed % to set.
devices_jandy.c:      snprintf(sval, 9, "%d", aqdata->swg_delayed_percent);
devices_jandy.c:      LOG(DJAN_LOG, LOG_NOTICE, "Setting SWG %% to %d, from delayed message\n", aqdata->swg_delayed_percent);
devices_jandy.c:      aqdata->swg_delayed_percent = TEMP_UNKNOWN;
devices_jandy.c:    aqdata->swg_ppm = packet[4] * 100;
devices_jandy.c:    aqdata->boost = false;
devices_jandy.c:    aqdata->boost_msg[0] = '\0';
devices_jandy.c:    aqdata->swg_percent = 0;
devices_jandy.c:    LOG(DJAN_LOG, LOG_DEBUG, "Ignoring set SWG %% to %d due to programming SWG\n", aqdata->swg_percent);
devices_jandy.c:  if (aqdata->ar_swg_device_status != SWG_STATUS_OFF || aqdata->swg_led_state != OFF)
devices_jandy.c:    aqdata->updated = true;
devices_jandy.c:  aqdata->ar_swg_device_status = SWG_STATUS_OFF;
devices_jandy.c:  aqdata->swg_led_state = OFF;
devices_jandy.c:  if (aqdata->swg_led_state != ENABLE) {
devices_jandy.c:    aqdata->updated = true;
devices_jandy.c:    aqdata->swg_led_state = ENABLE;
devices_jandy.c:  aqdata->swg_percent = percent;
devices_jandy.c:  aqdata->updated = true;
devices_jandy.c:  if (aqdata->swg_percent > 0) {
devices_jandy.c:    aqdata->swg_led_state = ON;
devices_jandy.c:    if (aqdata->ar_swg_device_status == SWG_STATUS_UNKNOWN)
devices_jandy.c:      aqdata->ar_swg_device_status = SWG_STATUS_ON; 
devices_jandy.c:  } if ( aqdata->swg_percent == 0 ) {
devices_jandy.c:    aqdata->swg_led_state = ENABLE;
devices_jandy.c:    if (aqdata->ar_swg_device_status == SWG_STATUS_UNKNOWN)
devices_jandy.c:      aqdata->ar_swg_device_status = SWG_STATUS_ON; // Maybe this should be off
devices_jandy.c:  LOG(DJAN_LOG, LOG_DEBUG, "Set SWG %% to %d, LED=%d, FullStatus=0x%02hhx\n", aqdata->swg_percent, aqdata->swg_led_state, aqdata->ar_swg_device_status);
devices_jandy.c:  switch (aqdata->ar_swg_device_status) {
devices_jandy.c:    return (aqdata->swg_percent > 0?ON:ENABLE);
devices_jandy.c:    return (aqdata->swg_percent > 0?ON:ENABLE);
devices_jandy.c:    return (aqdata->swg_percent > 0?ON:ENABLE);
devices_jandy.c:    return (aqdata->swg_percent > 0?ON:ENABLE);
devices_jandy.c:    return (aqdata->swg_percent > 0?ON:ENABLE);
devices_jandy.c:    return (aqdata->swg_percent > 0?ON:ENABLE);
devices_jandy.c:  switch (aqdata->ar_swg_device_status) {
devices_jandy.c:    *status = (aqdata->swg_percent > 0?SWG_ON:SWG_OFF);
devices_jandy.c:    *status = (aqdata->swg_percent > 0?SWG_ON:SWG_OFF);
devices_jandy.c:    *status = (aqdata->swg_percent > 0?SWG_ON:SWG_OFF);
devices_jandy.c:    *status = (aqdata->swg_percent > 0?SWG_ON:SWG_OFF);
devices_jandy.c:    *status = (aqdata->swg_percent > 0?SWG_ON:SWG_OFF);
devices_jandy.c:    *status = (aqdata->swg_percent > 0?SWG_ON:SWG_OFF);
devices_jandy.c:    *status = (aqdata->swg_percent > 0?SWG_ON:SWG_OFF);
devices_pentair.c:      if ( aqdata->pumps[i].prclType == PENTAIR && aqdata->pumps[i].pumpID == packet[PEN_PKT_FROM] ) {
devices_pentair.c:        aqdata->pumps[i].rpm = (packet[PEN_HI_B_RPM] * 256) + packet[PEN_LO_B_RPM];
devices_pentair.c:        aqdata->pumps[i].watts = (packet[PEN_HI_B_WAT] * 256) + packet[PEN_LO_B_WAT];
devices_pentair.c:    if ( pumpIndex < aqdata->num_pumps && pumpIndex < 0) {
devices_pentair.c:    aqdata->pumps[pumpIndex-1].rpm = atoi((char *) &packet_buffer[13]);
devices_pentair.c:    aqdata->pumps[pumpIndex-1].gph = atoi((char *) &packet_buffer[13]);
devices_pentair.c:    aqdata->pumps[pumpIndex-1].watts = atoi((char *) &packet_buffer[13]);
json_messages.c:  if (aqdata->active_thread.thread_id != 0 && !aqdata->simulate_panel) {
json_messages.c:    return programtypeDisplayName(aqdata->active_thread.ptype);
json_messages.c:  //if (aqdata->last_message != NULL && stristr(aqdata->last_message, "SERVICE") != NULL ) {
json_messages.c:  if (aqdata->service_mode_state == ON) {
json_messages.c:  } else if (aqdata->service_mode_state == FLASH) {
json_messages.c:  if (aqdata->last_display_message[0] != '\0') {
json_messages.c:    for(i=0; i < strlen(aqdata->last_display_message); i++ ) {
json_messages.c:      if (aqdata->last_display_message[i] <= 31 || aqdata->last_display_message[i] >= 127) {
json_messages.c:        aqdata->last_display_message[i] = ' ';
json_messages.c:        switch (aqdata->last_display_message[i]) {
json_messages.c:            aqdata->last_display_message[i] = ' ';
json_messages.c:    //printf("JSON Sending '%s'\n",aqdata->last_display_message);
json_messages.c:    return aqdata->last_display_message;
json_messages.c:  if (aqdata->display_last_message == true) {
json_messages.c:    return aqdata->last_message;
json_messages.c:  for (i=0; i < aqdata->num_pumps; i++) {
json_messages.c:    if (button == aqdata->pumps[i].button) {       
json_messages.c:                  aqdata->pumps[i].rpm,aqdata->pumps[i].gpm,aqdata->pumps[i].watts,
json_messages.c:                  (aqdata->pumps[i].pumpType==VFPUMP?"vfPump":(aqdata->pumps[i].pumpType==VSPUMP?"vsPump":"ePump")));
json_messages.c:  for (i=0; i < aqdata->num_lights; i++) {
json_messages.c:    if (button == aqdata->lights[i].button) {
json_messages.c:      length += sprintf(buffer, ",\"type_ext\": \"switch_program\", \"Light_Type\":\"%d\"", aqdata->lights[i].lightType);
json_messages.c:  bool homekit_f = (homekit && aqdata->temp_units==FAHRENHEIT);
json_messages.c:  length += sprintf(buffer+length, ",\"date\":\"%s\"",aqdata->date );//"09/01/16 THU",
json_messages.c:  length += sprintf(buffer+length, ",\"time\":\"%s\"",aqdata->time );//"1:16 PM",
json_messages.c:  if ( aqdata->temp_units == FAHRENHEIT )
json_messages.c:  else if ( aqdata->temp_units == CELSIUS )
json_messages.c:  for (i=0; i < aqdata->total_buttons; i++) 
json_messages.c:    if ( strcmp(BTN_POOL_HTR,aqdata->aqbuttons[i].name) == 0 && aqdata->pool_htr_set_point != TEMP_UNKNOWN) {
json_messages.c:                                     aqdata->aqbuttons[i].name, 
json_messages.c:                                     aqdata->aqbuttons[i].label,
json_messages.c:                                     aqdata->aqbuttons[i].led->state==ON?JSON_ON:JSON_OFF,
json_messages.c:                                     LED2text(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     ((homekit_f)?degFtoC(aqdata->pool_htr_set_point):aqdata->pool_htr_set_point),
json_messages.c:                                     ((homekit_f)?degFtoC(aqdata->pool_temp):aqdata->pool_temp),
json_messages.c:                                     LED2int(aqdata->aqbuttons[i].led->state));
json_messages.c:    } else if ( strcmp(BTN_SPA_HTR,aqdata->aqbuttons[i].name)==0 && aqdata->spa_htr_set_point != TEMP_UNKNOWN) {
json_messages.c:                                     aqdata->aqbuttons[i].name, 
json_messages.c:                                     aqdata->aqbuttons[i].label,
json_messages.c:                                     aqdata->aqbuttons[i].led->state==ON?JSON_ON:JSON_OFF,
json_messages.c:                                     LED2text(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     ((homekit_f)?degFtoC(aqdata->spa_htr_set_point):aqdata->spa_htr_set_point),
json_messages.c:                                     ((homekit_f)?degFtoC(aqdata->spa_temp):aqdata->spa_temp),
json_messages.c:                                     LED2int(aqdata->aqbuttons[i].led->state));
json_messages.c:      get_aux_information(&aqdata->aqbuttons[i], aqdata, aux_info);
json_messages.c:                                     aqdata->aqbuttons[i].name, 
json_messages.c:                                     aqdata->aqbuttons[i].label,
json_messages.c:                                     aqdata->aqbuttons[i].led->state==ON?JSON_ON:JSON_OFF,
json_messages.c:                                     LED2text(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     LED2int(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     aqdata->aqbuttons[i].name, 
json_messages.c:                                     aqdata->aqbuttons[i].label,
json_messages.c:                                     aqdata->aqbuttons[i].led->state==ON?JSON_ON:JSON_OFF,
json_messages.c:                                     LED2text(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     LED2int(aqdata->aqbuttons[i].led->state));
json_messages.c:      if ( get_aux_information(&aqdata->aqbuttons[i], aqdata, aux_info)[0] == '\0' ) {
json_messages.c:                                     aqdata->aqbuttons[i].name, 
json_messages.c:                                     aqdata->aqbuttons[i].label,
json_messages.c:                                     aqdata->aqbuttons[i].led->state==ON?JSON_ON:JSON_OFF,
json_messages.c:                                     LED2text(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     LED2int(aqdata->aqbuttons[i].led->state));
json_messages.c:                                     aqdata->aqbuttons[i].name, 
json_messages.c:                                     aqdata->aqbuttons[i].label,
json_messages.c:                                     aqdata->aqbuttons[i].led->state==ON?JSON_ON:JSON_OFF,
json_messages.c:                                     LED2text(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     LED2int(aqdata->aqbuttons[i].led->state),
json_messages.c:                                     //get_aux_information(&aqdata->aqbuttons[i], aqdata, aux_info));
json_messages.c:  if ( aqdata->frz_protect_set_point != TEMP_UNKNOWN && aqdata->air_temp != TEMP_UNKNOWN) {
json_messages.c:                                    aqdata->frz_protect_state==ON?JSON_ON:JSON_OFF,
json_messages.c:                                    aqdata->frz_protect_state==ON?LED2text(ON):LED2text(ENABLE),
json_messages.c:                                    ((homekit_f)?degFtoC(aqdata->frz_protect_set_point):aqdata->frz_protect_set_point),
json_messages.c:                                    ((homekit_f)?degFtoC(aqdata->air_temp):aqdata->air_temp),
json_messages.c:                                    aqdata->frz_protect_state==ON?1:0);
json_messages.c:  if (aqdata->swg_led_state != LED_S_UNKNOWN) {
json_messages.c:    if ( aqdata->swg_percent != TEMP_UNKNOWN ) {
json_messages.c:                                    //aqdata->ar_swg_status == SWG_STATUS_OFF?JSON_OFF:JSON_ON,
json_messages.c:                                    aqdata->swg_led_state == OFF?JSON_OFF:JSON_ON,
json_messages.c:                                    LED2text(aqdata->swg_led_state),
json_messages.c:                                    ((homekit_f)?degFtoC(aqdata->swg_percent):aqdata->swg_percent),
json_messages.c:                                    ((homekit_f)?degFtoC(aqdata->swg_percent):aqdata->swg_percent),
json_messages.c:                                    LED2int(aqdata->swg_led_state) );
json_messages.c:                                    //aqdata->ar_swg_status == SWG_STATUS_OFF?LED2int(OFF):LED2int(ON));
json_messages.c:                                   ((homekit_f)?degFtoC(aqdata->swg_percent):aqdata->swg_percent));
json_messages.c:                                     aqdata->boost?JSON_ON:JSON_OFF,
json_messages.c:                                     aqdata->boost?JSON_ON:JSON_OFF,
json_messages.c:                                     aqdata->boost?LED2int(ON):LED2int(OFF));
json_messages.c:    if ( aqdata->swg_ppm != TEMP_UNKNOWN ) {
json_messages.c:                                     ((homekit_f)?roundf(degFtoC(aqdata->swg_ppm)):aqdata->swg_ppm)); 
json_messages.c:                                   aqdata->swg_ppm);
json_messages.c:  if ( aqdata->ph != TEMP_UNKNOWN ) {
json_messages.c:                                   ((homekit_f)?(degFtoC(aqdata->ph)):aqdata->ph)); 
json_messages.c:  if ( aqdata->orp != TEMP_UNKNOWN ) {
json_messages.c:                                   ((homekit_f)?(degFtoC(aqdata->orp)):aqdata->orp)); 
json_messages.c:                                   ((homekit_f)?degFtoC(aqdata->air_temp):aqdata->air_temp));
json_messages.c:                                   ((homekit_f)?degFtoC(aqdata->air_temp):aqdata->pool_temp));
json_messages.c:                                   ((homekit_f)?degFtoC(aqdata->air_temp):aqdata->spa_temp));
json_messages.c:  //length += sprintf(buffer+length, ",\"message\":\"%s\"",aqdata->message );
json_messages.c:  length += sprintf(buffer+length, ",\"version\":\"%s\"",aqdata->version );//8157 REV MMM",
json_messages.c:  length += sprintf(buffer+length, ",\"date\":\"%s\"",aqdata->date );//"09/01/16 THU",
json_messages.c:  length += sprintf(buffer+length, ",\"time\":\"%s\"",aqdata->time );//"1:16 PM",
json_messages.c:  //length += sprintf(buffer+length, ",\"air_temp\":\"%d\"",aqdata->air_temp );//"96",
json_messages.c:  //length += sprintf(buffer+length, ",\"pool_temp\":\"%d\"",aqdata->pool_temp );//"86",
json_messages.c:  //length += sprintf(buffer+length, ",\"spa_temp\":\"%d\"",aqdata->spa_temp );//" ",
json_messages.c:  length += sprintf(buffer+length, ",\"pool_htr_set_pnt\":\"%d\"",aqdata->pool_htr_set_point );//"85",
json_messages.c:  length += sprintf(buffer+length, ",\"spa_htr_set_pnt\":\"%d\"",aqdata->spa_htr_set_point );//"99",
json_messages.c:  //length += sprintf(buffer+length, ",\"freeze_protection":\"%s\"",aqdata->frz_protect_set_point );//"off",
json_messages.c:  length += sprintf(buffer+length, ",\"frz_protect_set_pnt\":\"%d\"",aqdata->frz_protect_set_point );//"0",
json_messages.c:  if ( aqdata->air_temp == TEMP_UNKNOWN )
json_messages.c:    length += sprintf(buffer+length, ",\"air_temp\":\"%d\"",aqdata->air_temp );
json_messages.c:  if ( aqdata->pool_temp == TEMP_UNKNOWN )
json_messages.c:    length += sprintf(buffer+length, ",\"pool_temp\":\"%d\"",aqdata->pool_temp );
json_messages.c:  if ( aqdata->spa_temp == TEMP_UNKNOWN )
json_messages.c:    length += sprintf(buffer+length, ",\"spa_temp\":\"%d\"",aqdata->spa_temp );
json_messages.c:  if (aqdata->swg_led_state != LED_S_UNKNOWN) {
json_messages.c:    if ( aqdata->swg_percent != TEMP_UNKNOWN )
json_messages.c:      length += sprintf(buffer+length, ",\"swg_percent\":\"%d\"",aqdata->swg_percent );
json_messages.c:    if ( aqdata->swg_ppm != TEMP_UNKNOWN )
json_messages.c:      length += sprintf(buffer+length, ",\"swg_ppm\":\"%d\"",aqdata->swg_ppm );
json_messages.c:  if ( aqdata->temp_units == FAHRENHEIT )
json_messages.c:  else if ( aqdata->temp_units == CELSIUS )
json_messages.c:  if (aqdata->battery == OK)
json_messages.c:  if ( aqdata->swg_percent == 101 )
json_messages.c:    length += sprintf(buffer+length, ",\"swg_boost_msg\":\"%s\"",aqdata->boost_msg );
json_messages.c:  if ( aqdata->ph != TEMP_UNKNOWN )
json_messages.c:    length += sprintf(buffer+length, ",\"chem_ph\":\"%.1f\"",aqdata->ph );
json_messages.c:  if ( aqdata->orp != TEMP_UNKNOWN )
json_messages.c:    length += sprintf(buffer+length, ",\"chem_orp\":\"%d\"",aqdata->orp );
json_messages.c:  for (i=0; i < aqdata->total_buttons; i++) 
json_messages.c:    char *state = LED2text(aqdata->aqbuttons[i].led->state);
json_messages.c:    length += sprintf(buffer+length, "\"%s\": \"%s\"", aqdata->aqbuttons[i].name, state);
json_messages.c:    if (i+1 < aqdata->total_buttons)
json_messages.c:  if ( aqdata->swg_percent != TEMP_UNKNOWN && aqdata->swg_led_state != LED_S_UNKNOWN ) {
json_messages.c:    length += sprintf(buffer+length, ", \"%s\": \"%s\"", SWG_TOPIC, LED2text(aqdata->swg_led_state));
json_messages.c:    //length += sprintf(buffer+length, ", \"%s\": \"%s\"", SWG_TOPIC, aqdata->ar_swg_status == SWG_STATUS_OFF?JSON_OFF:JSON_ON);
json_messages.c:    length += sprintf(buffer+length, ", \"%s\": \"%s\"", SWG_BOOST_TOPIC, aqdata->boost?JSON_ON:JSON_OFF);
json_messages.c:  if ( aqdata->frz_protect_set_point != TEMP_UNKNOWN ) {
json_messages.c:    length += sprintf(buffer+length, ", \"%s\": \"%s\"", FREEZE_PROTECT, aqdata->frz_protect_state==ON?JSON_ON:JSON_ENABLED);
json_messages.c:  for (i=0; i < aqdata->num_pumps; i++) {
json_messages.c:printf("Pump Label %s\n",aqdata->pumps[i].button->label);
json_messages.c:printf("Pump Name %s\n",aqdata->pumps[i].button->name);
json_messages.c:printf("Pump RPM %d\n",aqdata->pumps[i].rpm);
json_messages.c:printf("Pump GPM %d\n",aqdata->pumps[i].gpm);
json_messages.c:printf("Pump GPM %d\n",aqdata->pumps[i].watts);
json_messages.c:printf("Pump Type %d\n",aqdata->pumps[i].pumpType);
json_messages.c:    if (aqdata->pumps[i].pumpType != PT_UNKNOWN && (aqdata->pumps[i].rpm != TEMP_UNKNOWN || aqdata->pumps[i].gpm != TEMP_UNKNOWN || aqdata->pumps[i].watts != TEMP_UNKNOWN)) {
json_messages.c:                        i+1,aqdata->pumps[i].button->label,aqdata->pumps[i].button->name,aqdata->pumps[i].rpm,aqdata->pumps[i].gpm,aqdata->pumps[i].watts,
json_messages.c:                        (aqdata->pumps[i].pumpType==VFPUMP?"vfPump":(aqdata->pumps[i].pumpType==VSPUMP?"vsPump":"ePump")));
json_messages.c:  for (i=0; i < aqdata->total_buttons; i++) 
json_messages.c:    length += sprintf(buffer+length, ",\"%s\": \"%s\"", aqdata->aqbuttons[i].name, aqdata->aqbuttons[i].label);
