#define ARRAY_SIZE(array) ((sizeof(array))/(sizeof(array[0])))
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32-S2!");
}
uint32_t testarr[30];
//const int testarr_len = sizeof(testarr) / sizeof(testarr[0]);
void arr_add(uint32_t *arr,uint32_t v, int arr_len) {
for(int i=0;i<arr_len;i++) {
if(i==arr_len-1) arr[i]=v;
else arr[i]=arr[i+1];
}
}
String MPS_LEVEL_MM="0;20;40;60";
uint32_t WTR_LEVELS[4];
void textsub () {
int maxIndex = MPS_LEVEL_MM.length()-1;
int lastIndex=0,found=0;
for(int i=0; i<=maxIndex; i++){
if(MPS_LEVEL_MM.charAt(i)==';' || i==maxIndex){
WTR_LEVELS[found]=(MPS_LEVEL_MM.substring(lastIndex,((i == maxIndex) ? i+1:i))).toInt();
found++;
lastIndex=i+1;
}
}
}
uint32_t arr_max(uint32_t *arr,int len) {int r=arr[0]; for(int i=0;i<len;i++) if(arr[i]>r) r=arr[i]; return r;}
uint32_t arr_min(uint32_t *arr,int len) {int r=arr[0]; for(int i=0;i<len;i++) if(arr[i]<r) r=arr[i]; return r;}
int x;
void loop() {
// put your main code here, to run repeatedly:
textsub();
for(int i=0;i<4;i++) {
Serial.print("\nLev"+String(i)+":"+String(WTR_LEVELS[i]));
}
delay(5000); // this speeds up the simulation
x++;
int testarr_len = ARRAY_SIZE(testarr);
Serial.print("\nArray size:"+String(testarr_len));
Serial.print("\nArray max:"+String(arr_max(testarr,testarr_len)));
Serial.print("\nArray min:"+String(arr_min(testarr,testarr_len)));
Serial.print("\nVals:");
for(int i=0;i<testarr_len;i++)
Serial.print(String(testarr[i])+";");
if(testarr[0]==0)
for(int i=0;i<testarr_len;i++)
arr_add(testarr,5,testarr_len);
arr_add(testarr,x,testarr_len);
}