@@ -55,6 +55,8 @@ Wippersnapper_V2::Wippersnapper_V2() {
55
55
WsV2._ds18x20_controller = new DS18X20Controller ();
56
56
WsV2._i2c_controller = new I2cController ();
57
57
WsV2._pixels_controller = new PixelsController ();
58
+ WsV2._pwm_controller = new PWMController ();
59
+ WsV2._servo_controller = new ServoController ();
58
60
};
59
61
60
62
/* *************************************************************************/
@@ -335,99 +337,127 @@ bool cbDecodeBrokerToDevice(pb_istream_t *stream, const pb_field_t *field,
335
337
WS_DEBUG_PRINTLN (" -> Checkin Response Message Type" );
336
338
WS_DEBUG_PRINT (" Handling Checkin Response..." );
337
339
if (!handleCheckinResponse (stream)) {
338
- WS_DEBUG_PRINTLN (" Failure handling Checkin Response!" );
339
340
return false ;
340
341
}
341
342
WS_DEBUG_PRINTLN (" Handled!" );
342
343
break ;
343
344
case wippersnapper_signal_BrokerToDevice_digitalio_add_tag:
344
345
WS_DEBUG_PRINTLN (" -> DigitalIO Add Message Type" );
345
346
if (!WsV2.digital_io_controller ->Handle_DigitalIO_Add (stream)) {
346
- WS_DEBUG_PRINTLN (" ERROR: Unable to add digitalio pin!" );
347
347
return false ;
348
348
}
349
349
break ;
350
350
case wippersnapper_signal_BrokerToDevice_digitalio_remove_tag:
351
351
WS_DEBUG_PRINTLN (" -> DigitalIO Remove Message Type" );
352
352
if (!WsV2.digital_io_controller ->Handle_DigitalIO_Remove (stream)) {
353
- WS_DEBUG_PRINTLN (" ERROR: Unable to remove digitalio pin!" );
354
353
return false ;
355
354
}
356
355
break ;
357
356
case wippersnapper_signal_BrokerToDevice_digitalio_write_tag:
358
357
WS_DEBUG_PRINTLN (" -> DigitalIO Write Message Type" );
359
358
if (!WsV2.digital_io_controller ->Handle_DigitalIO_Write (stream)) {
360
- WS_DEBUG_PRINTLN (" ERROR: Unable to write to digitalio pin!" );
361
359
return false ;
362
360
}
363
361
break ;
364
362
case wippersnapper_signal_BrokerToDevice_analogio_add_tag:
365
363
WS_DEBUG_PRINTLN (" -> AnalogIO Add Message Type" );
366
364
if (!WsV2.analogio_controller ->Handle_AnalogIOAdd (stream)) {
367
- WS_DEBUG_PRINTLN (" ERROR: Unable to add analogio pin!" );
368
365
return false ;
369
366
}
370
367
break ;
371
368
case wippersnapper_signal_BrokerToDevice_analogio_remove_tag:
372
369
WS_DEBUG_PRINTLN (" -> AnalogIO Remove Message Type" );
373
370
if (!WsV2.analogio_controller ->Handle_AnalogIORemove (stream)) {
374
- WS_DEBUG_PRINTLN (" ERROR: Unable to remove analogio pin!" );
375
371
return false ;
376
372
}
377
373
break ;
378
374
case wippersnapper_signal_BrokerToDevice_ds18x20_add_tag:
379
375
WS_DEBUG_PRINTLN (" -> DS18X20 Add Message Type" );
380
376
if (!WsV2._ds18x20_controller ->Handle_Ds18x20Add (stream)) {
381
- WS_DEBUG_PRINTLN (" ERROR: Unable to add DS18X20 sensor!" );
382
377
return false ;
383
378
}
384
379
break ;
385
380
case wippersnapper_signal_BrokerToDevice_ds18x20_remove_tag:
386
381
WS_DEBUG_PRINTLN (" -> DS18X20 Remove Message Type" );
387
382
if (!WsV2._ds18x20_controller ->Handle_Ds18x20Remove (stream)) {
388
- WS_DEBUG_PRINTLN (" ERROR: Unable to remove DS18X20 sensor!" );
389
383
return false ;
390
384
}
391
385
break ;
392
386
case wippersnapper_signal_BrokerToDevice_i2c_device_add_replace_tag:
393
387
WS_DEBUG_PRINTLN (" -> I2C Device Add/Replace Message Type" );
394
388
if (!WsV2._i2c_controller ->Handle_I2cDeviceAddOrReplace (stream)) {
395
- WS_DEBUG_PRINTLN (" ERROR: Unable to add/replace I2C device!" );
396
389
return false ;
397
390
}
398
391
break ;
399
392
case wippersnapper_signal_BrokerToDevice_i2c_bus_scan_tag:
400
393
WS_DEBUG_PRINTLN (" -> I2C Bus Scan Message Type" );
401
394
if (!WsV2._i2c_controller ->Handle_I2cBusScan (stream)) {
402
- WS_DEBUG_PRINTLN (" ERROR: Unable to add/replace I2C device!" );
403
395
return false ;
404
396
}
405
397
break ;
406
398
case wippersnapper_signal_BrokerToDevice_i2c_device_remove_tag:
407
399
WS_DEBUG_PRINTLN (" -> I2C Device Remove Message Type" );
408
400
if (!WsV2._i2c_controller ->Handle_I2cDeviceRemove (stream)) {
409
- WS_DEBUG_PRINTLN (" ERROR: Unable to remove I2C device!" );
410
401
return false ;
411
402
}
412
403
break ;
413
404
case wippersnapper_signal_BrokerToDevice_pixels_add_tag:
414
405
WS_DEBUG_PRINTLN (" -> Pixels Add Message Type" );
415
406
if (!WsV2._pixels_controller ->Handle_Pixels_Add (stream)) {
416
- WS_DEBUG_PRINTLN (" ERROR: Unable to add pixels strand!" );
417
407
return false ;
418
408
}
419
409
break ;
420
410
case wippersnapper_signal_BrokerToDevice_pixels_remove_tag:
421
411
WS_DEBUG_PRINTLN (" -> Pixels Remove Message Type" );
422
412
if (!WsV2._pixels_controller ->Handle_Pixels_Remove (stream)) {
423
- WS_DEBUG_PRINTLN (" ERROR: Unable to remove pixels strand!" );
424
413
return false ;
425
414
}
426
415
break ;
427
416
case wippersnapper_signal_BrokerToDevice_pixels_write_tag:
428
417
WS_DEBUG_PRINTLN (" -> Pixels Write Message Type" );
429
418
if (!WsV2._pixels_controller ->Handle_Pixels_Write (stream)) {
430
- WS_DEBUG_PRINTLN (" ERROR: Unable to write to pixels strand!" );
419
+ return false ;
420
+ }
421
+ break ;
422
+ case wippersnapper_signal_BrokerToDevice_pwm_add_tag:
423
+ WS_DEBUG_PRINTLN (" -> PWM Add Message Type" );
424
+ if (!WsV2._pwm_controller ->Handle_PWM_Add (stream)) {
425
+ return false ;
426
+ }
427
+ break ;
428
+ case wippersnapper_signal_BrokerToDevice_pwm_write_duty_tag:
429
+ WS_DEBUG_PRINTLN (" -> PWM Write Duty Cycle Message Type" );
430
+ if (!WsV2._pwm_controller ->Handle_PWM_Write_DutyCycle (stream)) {
431
+ return false ;
432
+ }
433
+ break ;
434
+ case wippersnapper_signal_BrokerToDevice_pwm_write_freq_tag:
435
+ WS_DEBUG_PRINTLN (" -> PWM Write Frequency Message Type" );
436
+ if (!WsV2._pwm_controller ->Handle_PWM_Write_Frequency (stream)) {
437
+ return false ;
438
+ }
439
+ break ;
440
+ case wippersnapper_signal_BrokerToDevice_pwm_remove_tag:
441
+ WS_DEBUG_PRINTLN (" -> PWM Remove Message Type" );
442
+ if (!WsV2._pwm_controller ->Handle_PWM_Remove (stream)) {
443
+ return false ;
444
+ }
445
+ break ;
446
+ case wippersnapper_signal_BrokerToDevice_servo_add_tag:
447
+ WS_DEBUG_PRINTLN (" -> Servo Add Message Type" );
448
+ if (!WsV2._servo_controller ->Handle_Servo_Add (stream)) {
449
+ return false ;
450
+ }
451
+ break ;
452
+ case wippersnapper_signal_BrokerToDevice_servo_write_tag:
453
+ WS_DEBUG_PRINTLN (" -> Servo Write Message Type" );
454
+ if (!WsV2._servo_controller ->Handle_Servo_Write (stream)) {
455
+ return false ;
456
+ }
457
+ break ;
458
+ case wippersnapper_signal_BrokerToDevice_servo_remove_tag:
459
+ WS_DEBUG_PRINTLN (" -> Servo Remove Message Type" );
460
+ if (!WsV2._servo_controller ->Handle_Servo_Remove (stream)) {
431
461
return false ;
432
462
}
433
463
break ;
@@ -1005,6 +1035,17 @@ bool Wippersnapper_V2::PublishSignal(pb_size_t which_payload, void *payload) {
1005
1035
MsgSignal.payload .pixels_added =
1006
1036
*(wippersnapper_pixels_PixelsAdded *)payload;
1007
1037
break ;
1038
+ case wippersnapper_signal_DeviceToBroker_pwm_added_tag:
1039
+ WS_DEBUG_PRINTLN (" PWMAdded" );
1040
+ MsgSignal.which_payload = wippersnapper_signal_DeviceToBroker_pwm_added_tag;
1041
+ MsgSignal.payload .pwm_added = *(wippersnapper_pwm_PWMAdded *)payload;
1042
+ break ;
1043
+ case wippersnapper_signal_DeviceToBroker_servo_added_tag:
1044
+ WS_DEBUG_PRINTLN (" ServoAdded" );
1045
+ MsgSignal.which_payload =
1046
+ wippersnapper_signal_DeviceToBroker_servo_added_tag;
1047
+ MsgSignal.payload .servo_added = *(wippersnapper_servo_ServoAdded *)payload;
1048
+ break ;
1008
1049
default :
1009
1050
WS_DEBUG_PRINTLN (" ERROR: Invalid signal payload type, bailing out!" );
1010
1051
return false ;
0 commit comments