Now displaying the BLE device MAC address in the connectivity tab

This commit is contained in:
Th3maz1ng 2023-04-22 13:21:35 +02:00
parent 3fe41b0971
commit e698dfb274
2 changed files with 35 additions and 1 deletions

View File

@ -534,8 +534,28 @@ static void load_connectivity_side_screen(SettingsScreen_t *settingsScreen)
lv_obj_set_style_text_color(dev_name_label, lv_color_make(130, 130, 130), LV_PART_MAIN);
lv_obj_align_to(dev_name_label, label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
label = lv_label_create(settingsScreen->side_screen);
lv_label_set_text_static(label, "Device MAC :");
lv_obj_align_to(label, dev_name_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
settingsScreen->ble_mac_addr.label = lv_label_create(settingsScreen->side_screen);
const uint8_t *ble_dev_mac = NULL;
if(settingsScreen->settingsScreenAPIInterface.getBLEDeviceMACCb) settingsScreen->settingsScreenAPIInterface.getBLEDeviceMACCb(&ble_dev_mac);
if(ble_dev_mac)
{
sprintf(settingsScreen->ble_mac_addr.text, "%02X:%02X:%02X:%02X:%02X:%02X",
ble_dev_mac[5],ble_dev_mac[4],ble_dev_mac[3],ble_dev_mac[2],ble_dev_mac[1],ble_dev_mac[0]);
}
else
{
strcpy(settingsScreen->ble_mac_addr.text, "XX:XX:XX:XX:XX:XX");
}
lv_label_set_text_static(settingsScreen->ble_mac_addr.label, settingsScreen->ble_mac_addr.text);
lv_obj_set_style_text_color(settingsScreen->ble_mac_addr.label, lv_color_make(130, 130, 130), LV_PART_MAIN);
lv_obj_align_to(settingsScreen->ble_mac_addr.label, label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 5);
settingsScreen->wifi_switch = lv_switch_create(settingsScreen->side_screen);
lv_obj_align_to(settingsScreen->wifi_switch, dev_name_label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
lv_obj_align_to(settingsScreen->wifi_switch, settingsScreen->ble_mac_addr.label, LV_ALIGN_OUT_BOTTOM_LEFT, 0, 10);
if(settingsScreen->settingsScreenAPIInterface.setWiFiEnabledSettingsCb)settingsScreen->settingsScreenAPIInterface.setWiFiEnabledSettingsCb(&toggled, SETTING_MODE_GET);
if(toggled) lv_obj_add_state(settingsScreen->wifi_switch, LV_STATE_CHECKED);
lv_obj_add_state(settingsScreen->wifi_switch, LV_STATE_DISABLED);

View File

@ -24,6 +24,8 @@ typedef struct SettingsScreenAPIInterface
void (*setWiFiEnabledSettingsCb)(bool *enabled, SettingMode_e mode);
void (*setLanguageSettingsCb)(uint8_t *language, SettingMode_e mode);
void (*getBLEDeviceNameCb)(const char **dev_name);
void (*getBLEDeviceMACCb)(const uint8_t **dev_mac);
void (*getBLEDevicePairingKeyCb)(const uint32_t *pairing_key);
void (*getBatteryVoltageCb)(uint16_t *battery_voltage);
void (*getMagnetometerRawDataCb)(int16_t *field_x, int16_t *field_y, int16_t *field_z, float *temperature);
void (*getBMP280DataCb)(float *temperature, float *pressure);
@ -81,6 +83,18 @@ typedef struct SettingsScreen
lv_obj_t *label;
char text[13];
} bmp280_pressure;
struct
{
lv_obj_t *label;
char text[18];
} ble_mac_addr;
struct
{
lv_obj_t *label;
char text[7];
} ble_pairing_key;
/* Main screen */
lv_obj_t *display;