From f471e7377b53e3da099d897a8b4a38c703ec95fd Mon Sep 17 00:00:00 2001 From: Gregg Date: Sat, 14 May 2022 11:21:59 -0500 Subject: [PATCH] Update 20-DynamicBridge.ino --- .../20-DynamicBridge/20-DynamicBridge.ino | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/examples/20-DynamicBridge/20-DynamicBridge.ino b/examples/20-DynamicBridge/20-DynamicBridge.ino index e25382a..1213926 100644 --- a/examples/20-DynamicBridge/20-DynamicBridge.ino +++ b/examples/20-DynamicBridge/20-DynamicBridge.ino @@ -30,7 +30,7 @@ #define MAX_LIGHTS 10 nvs_handle savedData; -int accNum[MAX_LIGHTS]={0}; +int accNum[MAX_LIGHTS+1]={0}; ////////////////////////////////////// @@ -56,9 +56,9 @@ void setup() { if(accNum[i]>0) addLight(accNum[i]); - new SpanUserCommand('a'," add a new light accessory with id=num",addAccessory); - new SpanUserCommand('d'," delete a light accessory with id=num",deleteAccessory); - new SpanUserCommand('u',"update configuration database",[](const char *buf){homeSpan.updateDatabase();}); + new SpanUserCommand('a'," - add a new light accessory with id=",addAccessory); + new SpanUserCommand('d'," - delete a light accessory with id=",deleteAccessory); + new SpanUserCommand('u',"update accessories database",updateAccessories); } @@ -142,10 +142,21 @@ void deleteAccessory(const char *buf){ Serial.printf("Deleting Accessory: Light-%d\n",n); delete acc; - int i; // delete entry in accNum + int i; // find entry in accNum for(i=0;accNum[i]!=n;i++); - accNum[i]=0; + for(;i