some updates and fixes
This commit is contained in:
@@ -249,61 +249,49 @@ void blectl_setup( void ) {
|
||||
|
||||
// Create the BLE Service
|
||||
BLEService *pService = pServer->createService(SERVICE_UUID);
|
||||
|
||||
// Create a BLE Characteristic
|
||||
pTxCharacteristic = pService->createCharacteristic( CHARACTERISTIC_UUID_TX, BLECharacteristic::PROPERTY_NOTIFY );
|
||||
pTxCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||
pTxCharacteristic->addDescriptor( new BLE2902() );
|
||||
|
||||
pRxCharacteristic = pService->createCharacteristic( CHARACTERISTIC_UUID_RX, BLECharacteristic::PROPERTY_WRITE );
|
||||
pRxCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||
pRxCharacteristic->setCallbacks( new BleCtlCallbacks() );
|
||||
|
||||
// Start the service
|
||||
pService->start();
|
||||
|
||||
// Start advertising
|
||||
pServer->getAdvertising()->addServiceUUID( pService->getUUID() );
|
||||
|
||||
|
||||
// Create device information service
|
||||
BLEService *pDeviceInformationService = pServer->createService(DEVICE_INFORMATION_SERVICE_UUID);
|
||||
|
||||
// Create manufacturer name string Characteristic -
|
||||
BLECharacteristic* pManufacturerNameStringCharacteristic = pDeviceInformationService->createCharacteristic( MANUFACTURER_NAME_STRING_CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_READ );
|
||||
pManufacturerNameStringCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||
pManufacturerNameStringCharacteristic->addDescriptor( new BLE2902() );
|
||||
pManufacturerNameStringCharacteristic->setValue("Lily Go");
|
||||
|
||||
// Create manufacturer name string Characteristic -
|
||||
BLECharacteristic* pFirmwareRevisionStringCharacteristic = pDeviceInformationService->createCharacteristic( FIRMWARE_REVISION_STRING_CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_READ );
|
||||
pFirmwareRevisionStringCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||
pFirmwareRevisionStringCharacteristic->addDescriptor( new BLE2902() );
|
||||
pFirmwareRevisionStringCharacteristic->setValue(__FIRMWARE__);
|
||||
|
||||
// Start battery service
|
||||
pDeviceInformationService->start();
|
||||
|
||||
// Start advertising battery service
|
||||
pServer->getAdvertising()->addServiceUUID( pDeviceInformationService->getUUID() );
|
||||
|
||||
|
||||
// Create battery service
|
||||
BLEService *pBatteryService = pServer->createService(BATTERY_SERVICE_UUID);
|
||||
|
||||
// Create a BLE battery service, batttery level Characteristic -
|
||||
pBatteryLevelCharacteristic = pBatteryService->createCharacteristic( BATTERY_LEVEL_CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY );
|
||||
pBatteryLevelCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||
pBatteryLevelCharacteristic->addDescriptor( new BLEDescriptor(BATTERY_LEVEL_DESCRIPTOR_UUID) );
|
||||
pBatteryLevelCharacteristic->addDescriptor( new BLE2902() );
|
||||
|
||||
pBatteryPowerStateCharacteristic = pBatteryService->createCharacteristic( BATTERY_POWER_STATE_CHARACTERISTIC_UUID, BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY );
|
||||
pBatteryPowerStateCharacteristic->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
|
||||
pBatteryPowerStateCharacteristic->addDescriptor( new BLE2902() );
|
||||
|
||||
// Start battery service
|
||||
pBatteryService->start();
|
||||
|
||||
// Start advertising battery service
|
||||
pServer->getAdvertising()->addServiceUUID( pBatteryService->getUUID() );
|
||||
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
#define CHARACTERISTIC_UUID_RX BLEUUID("6E400002-B5A3-F393-E0A9-E50E24DCCA9E")
|
||||
#define CHARACTERISTIC_UUID_TX BLEUUID("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")
|
||||
|
||||
|
||||
#define DEVICE_INFORMATION_SERVICE_UUID BLEUUID((uint16_t)0x180A) // Device Information server UUID
|
||||
#define MANUFACTURER_NAME_STRING_CHARACTERISTIC_UUID BLEUUID((uint16_t)0x2A29) // Device Information - manufacturer name string UUID
|
||||
#define FIRMWARE_REVISION_STRING_CHARACTERISTIC_UUID BLEUUID((uint16_t)0x2A26) // Device Information - firmware revision UUID
|
||||
@@ -40,7 +39,6 @@
|
||||
#define BATTERY_LEVEL_DESCRIPTOR_UUID BLEUUID((uint16_t)0x2901) // battery level descriptor UUID
|
||||
#define BATTERY_POWER_STATE_CHARACTERISTIC_UUID BLEUUID((uint16_t)0x2A1A) // battery power state characteristic UUID
|
||||
|
||||
|
||||
#define BATTERY_POWER_STATE_BATTERY_UNKNOWN 0x0
|
||||
#define BATTERY_POWER_STATE_BATTERY_NOT_SUPPORTED 0x1
|
||||
#define BATTERY_POWER_STATE_BATTERY_NOT_PRESENT 0x2
|
||||
@@ -61,8 +59,6 @@
|
||||
#define BATTERY_POWER_STATE_LEVEL_GOOD 0x80
|
||||
#define BATTERY_POWER_STATE_LEVEL_CRITICALLY_LOW 0xC0
|
||||
|
||||
|
||||
|
||||
#define BLECTL_JSON_COFIG_FILE "/blectl.json"
|
||||
|
||||
#define EndofText 0x03
|
||||
@@ -123,7 +119,7 @@
|
||||
bool blectl_get_advertising( void );
|
||||
void blectl_save_config( void );
|
||||
void blectl_read_config( void );
|
||||
|
||||
|
||||
void blectl_update_battery( int32_t percent, bool charging, bool plug );
|
||||
|
||||
#endif // _BLECTL_H
|
||||
@@ -76,6 +76,8 @@ void sound_setup( void ) {
|
||||
}
|
||||
|
||||
void sound_Task( void * pvParameters ) {
|
||||
log_i("start sound task, heap: %d", ESP.getFreeHeap() );
|
||||
|
||||
esp_err_t err;
|
||||
size_t written = 0;
|
||||
|
||||
@@ -84,5 +86,7 @@ void sound_Task( void * pvParameters ) {
|
||||
log_e("Failed write bytes: %d\r\n", err );
|
||||
}
|
||||
i2s_stop( I2S_PORT );
|
||||
|
||||
log_i("finish sound task, heap: %d", ESP.getFreeHeap() );
|
||||
vTaskDelete( NULL );
|
||||
}
|
||||
@@ -177,7 +177,7 @@ void timesyncToRTC( void ) {
|
||||
}
|
||||
|
||||
void timesync_Task( void * pvParameters ) {
|
||||
log_i("start time sync task");
|
||||
log_i("start time sync task, heap: %d", ESP.getFreeHeap() );
|
||||
|
||||
if ( xEventGroupGetBits( time_event_handle ) & TIME_SYNC_REQUEST ) {
|
||||
struct tm info;
|
||||
@@ -195,5 +195,6 @@ void timesync_Task( void * pvParameters ) {
|
||||
}
|
||||
}
|
||||
xEventGroupClearBits( time_event_handle, TIME_SYNC_REQUEST );
|
||||
log_i("finish time sync task, heap: %d", ESP.getFreeHeap() );
|
||||
vTaskDelete( NULL );
|
||||
}
|
||||
@@ -337,6 +337,10 @@ void wifictl_register_cb( EventBits_t event, WIFICTL_CALLBACK_FUNC wifictl_event
|
||||
*
|
||||
*/
|
||||
void wifictl_send_event_cb( EventBits_t event, char *msg ) {
|
||||
if ( wifictl_event_cb_entrys == 0 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
for ( int entry = 0 ; entry < wifictl_event_cb_entrys ; entry++ ) {
|
||||
yield();
|
||||
if ( event & wifictl_event_cb_table[ entry ].event ) {
|
||||
@@ -458,7 +462,7 @@ void wifictl_off( void ) {
|
||||
yield();
|
||||
}
|
||||
|
||||
if ( !wifictl_get_event( WIFICTL_ACTIVE ) ) {
|
||||
if ( !wifictl_get_event( WIFICTL_ACTIVE | WIFICTL_SCAN | WIFICTL_WPS_REQUEST | WIFICTL_CONNECT ) ) {
|
||||
log_i("wifictl not active");
|
||||
return;
|
||||
}
|
||||
@@ -516,6 +520,8 @@ void wifictl_Task( void * pvParameters ) {
|
||||
if ( wifi_init == false )
|
||||
return;
|
||||
|
||||
log_i("start wifictl task, heap: %d", ESP.getFreeHeap() );
|
||||
|
||||
while ( true ) {
|
||||
vTaskDelay( 500 );
|
||||
if ( wifictl_get_event( WIFICTL_OFF_REQUEST ) && wifictl_get_event( WIFICTL_ON_REQUEST ) ) {
|
||||
|
||||
Reference in New Issue
Block a user