testing multiple characteristics

This commit is contained in:
Glahera 2024-11-13 16:49:57 +07:00
parent f5c2200e79
commit 2a30a98144

View File

@ -34,7 +34,7 @@ String btmessage;
#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" #define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" #define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"
#define CHARACTERISTIC_UUIDS {"beb5483e-36e1-4688-b7f5-ea07361b26a8","beb5483e-36e1-4688-b7f5-ea07361b26a9","beb5483e-36e1-4688-b7f5-ea07361b26b0"}
class MyServerCallbacks: public BLEServerCallbacks { class MyServerCallbacks: public BLEServerCallbacks {
void onConnect(BLEServer* pServer) { void onConnect(BLEServer* pServer) {
@ -46,6 +46,22 @@ class MyServerCallbacks: public BLEServerCallbacks {
} }
}; };
//Function for setting up BLE Characteristic
const int panelAmount = 3;
BLECharacteristic* pCharacteristics[] = {};
void setupCharacteristic(pService){
for(int i = 0; i < panelAmount - 1; i++){
pCharacteristics[i] = pService->createCharacteristic(
CHARACTERISTIC_UUIDS[i],
BLECharacteristic::PROPERTY_READ |
BLECharacteristic::PROPERTY_WRITE |
BLECharacteristic::PROPERTY_NOTIFY |
BLECharacteristic::PROPERTY_INDICATE
);
};
};
// Defining BOOT button on ESP32 as our built-in button. // Defining BOOT button on ESP32 as our built-in button.
Button button1 = {INTERRUPT_PIN, 0, false}; Button button1 = {INTERRUPT_PIN, 0, false};
@ -299,7 +315,7 @@ void setup() {
} }
void loop() { void loop() {
dmx_send(DMX_NUM_1);
// Save Old Mode // Save Old Mode
int modeOld = mode; int modeOld = mode;
@ -325,9 +341,6 @@ void loop() {
} }
serialRead(); serialRead();
dmx_send(DMX_NUM_1);
// Preparing next packet
if (button1.pressed){ if (button1.pressed){
if (mode < modeAmount - 1){mode++;} else {mode = 0;}; if (mode < modeAmount - 1){mode++;} else {mode = 0;};
// Increment the value of each slot, excluding the start code. // Increment the value of each slot, excluding the start code.
@ -340,5 +353,4 @@ void loop() {
dmx_wait_sent(DMX_NUM_1, DMX_TIMEOUT_TICK); dmx_wait_sent(DMX_NUM_1, DMX_TIMEOUT_TICK);
// Now write the packet synchronously! // Now write the packet synchronously!
dmx_write(DMX_NUM_1, dataSeq[mode], 100); dmx_write(DMX_NUM_1, dataSeq[mode], 100);
serialRead();
} }