Skip to content

Commit 7458980

Browse files
committed
Fix - ServoRemove Unit Test
1 parent 361f97d commit 7458980

File tree

6 files changed

+43
-66
lines changed

6 files changed

+43
-66
lines changed

src/Wippersnapper_V2.cpp

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -337,148 +337,127 @@ bool cbDecodeBrokerToDevice(pb_istream_t *stream, const pb_field_t *field,
337337
WS_DEBUG_PRINTLN("-> Checkin Response Message Type");
338338
WS_DEBUG_PRINT("Handling Checkin Response...");
339339
if (!handleCheckinResponse(stream)) {
340-
WS_DEBUG_PRINTLN("Failure handling Checkin Response!");
341340
return false;
342341
}
343342
WS_DEBUG_PRINTLN("Handled!");
344343
break;
345344
case wippersnapper_signal_BrokerToDevice_digitalio_add_tag:
346345
WS_DEBUG_PRINTLN("-> DigitalIO Add Message Type");
347346
if (!WsV2.digital_io_controller->Handle_DigitalIO_Add(stream)) {
348-
WS_DEBUG_PRINTLN("ERROR: Unable to add digitalio pin!");
349347
return false;
350348
}
351349
break;
352350
case wippersnapper_signal_BrokerToDevice_digitalio_remove_tag:
353351
WS_DEBUG_PRINTLN("-> DigitalIO Remove Message Type");
354352
if (!WsV2.digital_io_controller->Handle_DigitalIO_Remove(stream)) {
355-
WS_DEBUG_PRINTLN("ERROR: Unable to remove digitalio pin!");
356353
return false;
357354
}
358355
break;
359356
case wippersnapper_signal_BrokerToDevice_digitalio_write_tag:
360357
WS_DEBUG_PRINTLN("-> DigitalIO Write Message Type");
361358
if (!WsV2.digital_io_controller->Handle_DigitalIO_Write(stream)) {
362-
WS_DEBUG_PRINTLN("ERROR: Unable to write to digitalio pin!");
363359
return false;
364360
}
365361
break;
366362
case wippersnapper_signal_BrokerToDevice_analogio_add_tag:
367363
WS_DEBUG_PRINTLN("-> AnalogIO Add Message Type");
368364
if (!WsV2.analogio_controller->Handle_AnalogIOAdd(stream)) {
369-
WS_DEBUG_PRINTLN("ERROR: Unable to add analogio pin!");
370365
return false;
371366
}
372367
break;
373368
case wippersnapper_signal_BrokerToDevice_analogio_remove_tag:
374369
WS_DEBUG_PRINTLN("-> AnalogIO Remove Message Type");
375370
if (!WsV2.analogio_controller->Handle_AnalogIORemove(stream)) {
376-
WS_DEBUG_PRINTLN("ERROR: Unable to remove analogio pin!");
377371
return false;
378372
}
379373
break;
380374
case wippersnapper_signal_BrokerToDevice_ds18x20_add_tag:
381375
WS_DEBUG_PRINTLN("-> DS18X20 Add Message Type");
382376
if (!WsV2._ds18x20_controller->Handle_Ds18x20Add(stream)) {
383-
WS_DEBUG_PRINTLN("ERROR: Unable to add DS18X20 sensor!");
384377
return false;
385378
}
386379
break;
387380
case wippersnapper_signal_BrokerToDevice_ds18x20_remove_tag:
388381
WS_DEBUG_PRINTLN("-> DS18X20 Remove Message Type");
389382
if (!WsV2._ds18x20_controller->Handle_Ds18x20Remove(stream)) {
390-
WS_DEBUG_PRINTLN("ERROR: Unable to remove DS18X20 sensor!");
391383
return false;
392384
}
393385
break;
394386
case wippersnapper_signal_BrokerToDevice_i2c_device_add_replace_tag:
395387
WS_DEBUG_PRINTLN("-> I2C Device Add/Replace Message Type");
396388
if (!WsV2._i2c_controller->Handle_I2cDeviceAddOrReplace(stream)) {
397-
WS_DEBUG_PRINTLN("ERROR: Unable to add/replace I2C device!");
398389
return false;
399390
}
400391
break;
401392
case wippersnapper_signal_BrokerToDevice_i2c_bus_scan_tag:
402393
WS_DEBUG_PRINTLN("-> I2C Bus Scan Message Type");
403394
if (!WsV2._i2c_controller->Handle_I2cBusScan(stream)) {
404-
WS_DEBUG_PRINTLN("ERROR: Unable to add/replace I2C device!");
405395
return false;
406396
}
407397
break;
408398
case wippersnapper_signal_BrokerToDevice_i2c_device_remove_tag:
409399
WS_DEBUG_PRINTLN("-> I2C Device Remove Message Type");
410400
if (!WsV2._i2c_controller->Handle_I2cDeviceRemove(stream)) {
411-
WS_DEBUG_PRINTLN("ERROR: Unable to remove I2C device!");
412401
return false;
413402
}
414403
break;
415404
case wippersnapper_signal_BrokerToDevice_pixels_add_tag:
416405
WS_DEBUG_PRINTLN("-> Pixels Add Message Type");
417406
if (!WsV2._pixels_controller->Handle_Pixels_Add(stream)) {
418-
WS_DEBUG_PRINTLN("ERROR: Unable to add pixels strand!");
419407
return false;
420408
}
421409
break;
422410
case wippersnapper_signal_BrokerToDevice_pixels_remove_tag:
423411
WS_DEBUG_PRINTLN("-> Pixels Remove Message Type");
424412
if (!WsV2._pixels_controller->Handle_Pixels_Remove(stream)) {
425-
WS_DEBUG_PRINTLN("ERROR: Unable to remove pixels strand!");
426413
return false;
427414
}
428415
break;
429416
case wippersnapper_signal_BrokerToDevice_pixels_write_tag:
430417
WS_DEBUG_PRINTLN("-> Pixels Write Message Type");
431418
if (!WsV2._pixels_controller->Handle_Pixels_Write(stream)) {
432-
WS_DEBUG_PRINTLN("ERROR: Unable to write to pixels strand!");
433419
return false;
434420
}
435421
break;
436422
case wippersnapper_signal_BrokerToDevice_pwm_add_tag:
437423
WS_DEBUG_PRINTLN("-> PWM Add Message Type");
438424
if (!WsV2._pwm_controller->Handle_PWM_Add(stream)) {
439-
WS_DEBUG_PRINTLN("ERROR: Unable to add PWM pin!");
440425
return false;
441426
}
442427
break;
443428
case wippersnapper_signal_BrokerToDevice_pwm_write_duty_tag:
444429
WS_DEBUG_PRINTLN("-> PWM Write Duty Cycle Message Type");
445430
if (!WsV2._pwm_controller->Handle_PWM_Write_DutyCycle(stream)) {
446-
WS_DEBUG_PRINTLN("ERROR: Unable to write duty cycle to PWM pin!");
447431
return false;
448432
}
449433
break;
450434
case wippersnapper_signal_BrokerToDevice_pwm_write_freq_tag:
451435
WS_DEBUG_PRINTLN("-> PWM Write Frequency Message Type");
452436
if (!WsV2._pwm_controller->Handle_PWM_Write_Frequency(stream)) {
453-
WS_DEBUG_PRINTLN("ERROR: Unable to write frequency to PWM pin!");
454437
return false;
455438
}
456439
break;
457440
case wippersnapper_signal_BrokerToDevice_pwm_remove_tag:
458441
WS_DEBUG_PRINTLN("-> PWM Remove Message Type");
459442
if (!WsV2._pwm_controller->Handle_PWM_Remove(stream)) {
460-
WS_DEBUG_PRINTLN("ERROR: Unable to remove PWM pin!");
461443
return false;
462444
}
463445
break;
464446
case wippersnapper_signal_BrokerToDevice_servo_add_tag:
465447
WS_DEBUG_PRINTLN("-> Servo Add Message Type");
466448
if (!WsV2._servo_controller->Handle_Servo_Add(stream)) {
467-
WS_DEBUG_PRINTLN("ERROR: Unable to add servo!");
468449
return false;
469450
}
470451
break;
471452
case wippersnapper_signal_BrokerToDevice_servo_write_tag:
472453
WS_DEBUG_PRINTLN("-> Servo Write Message Type");
473454
if (!WsV2._servo_controller->Handle_Servo_Write(stream)) {
474-
WS_DEBUG_PRINTLN("ERROR: Unable to write to servo!");
475455
return false;
476456
}
477457
break;
478458
case wippersnapper_signal_BrokerToDevice_servo_remove_tag:
479459
WS_DEBUG_PRINTLN("-> Servo Remove Message Type");
480460
if (!WsV2._servo_controller->Handle_Servo_Remove(stream)) {
481-
WS_DEBUG_PRINTLN("ERROR: Unable to remove servo!");
482461
return false;
483462
}
484463
break;
@@ -1063,7 +1042,8 @@ bool Wippersnapper_V2::PublishSignal(pb_size_t which_payload, void *payload) {
10631042
break;
10641043
case wippersnapper_signal_DeviceToBroker_servo_added_tag:
10651044
WS_DEBUG_PRINTLN("ServoAdded");
1066-
MsgSignal.which_payload = wippersnapper_signal_DeviceToBroker_servo_added_tag;
1045+
MsgSignal.which_payload =
1046+
wippersnapper_signal_DeviceToBroker_servo_added_tag;
10671047
MsgSignal.payload.servo_added = *(wippersnapper_servo_ServoAdded *)payload;
10681048
break;
10691049
default:

src/components/pwm/controller.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,6 @@ bool PWMController::Handle_PWM_Write_DutyCycle(pb_istream_t *stream) {
151151
wippersnapper_pwm_PWMWriteDutyCycle msg_write_duty_cycle =
152152
*_pwm_model->GetPWMWriteDutyCycleMsg();
153153
uint8_t pin = atoi(msg_write_duty_cycle.pin + 1);
154-
155-
// Check if the pin is already attached
156154
int pin_idx = GetPWMHardwareIdx(pin);
157155
if (pin_idx == -1) {
158156
WS_DEBUG_PRINTLN("[pwm] Error: pin not found!");
@@ -188,7 +186,6 @@ bool PWMController::Handle_PWM_Write_Frequency(pb_istream_t *stream) {
188186
wippersnapper_pwm_PWMWriteFrequency msg_write_frequency =
189187
*_pwm_model->GetPWMWriteFrequencyMsg();
190188
uint8_t pin = atoi(msg_write_frequency.pin + 1);
191-
// Check if the pin is already attached
192189
int pin_idx = GetPWMHardwareIdx(pin);
193190
if (pin_idx == -1) {
194191
WS_DEBUG_PRINTLN("[pwm] Error: pin not found!");

src/components/pwm/model.cpp

Lines changed: 35 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,35 +15,33 @@
1515
#include "model.h"
1616

1717
/**************************************************************************/
18-
/*!
18+
/*!
1919
@brief Ctor for PWMModel.
2020
*/
2121
/**************************************************************************/
2222
PWMModel::PWMModel() {
23-
memset(&_msg_pwm_add, 0, sizeof(_msg_pwm_add));
24-
memset(&_msg_pwm_added, 0, sizeof(_msg_pwm_added));
25-
memset(&_msg_pwm_remove, 0, sizeof(_msg_pwm_remove));
26-
memset(&_msg_pwm_write_duty_cycle, 0, sizeof(_msg_pwm_write_duty_cycle));
27-
memset(&_msg_pwm_write_duty_cycle_multi, 0, sizeof(_msg_pwm_write_duty_cycle_multi));
28-
memset(&_msg_pwm_write_frequency, 0, sizeof(_msg_pwm_write_frequency));
23+
memset(&_msg_pwm_add, 0, sizeof(_msg_pwm_add));
24+
memset(&_msg_pwm_added, 0, sizeof(_msg_pwm_added));
25+
memset(&_msg_pwm_remove, 0, sizeof(_msg_pwm_remove));
26+
memset(&_msg_pwm_write_duty_cycle, 0, sizeof(_msg_pwm_write_duty_cycle));
27+
memset(&_msg_pwm_write_frequency, 0, sizeof(_msg_pwm_write_frequency));
2928
}
3029

3130
/**************************************************************************/
32-
/*!
31+
/*!
3332
@brief Dtor for PWMModel.
3433
*/
3534
/**************************************************************************/
3635
PWMModel::~PWMModel() {
37-
memset(&_msg_pwm_add, 0, sizeof(_msg_pwm_add));
38-
memset(&_msg_pwm_added, 0, sizeof(_msg_pwm_added));
39-
memset(&_msg_pwm_remove, 0, sizeof(_msg_pwm_remove));
40-
memset(&_msg_pwm_write_duty_cycle, 0, sizeof(_msg_pwm_write_duty_cycle));
41-
memset(&_msg_pwm_write_duty_cycle_multi, 0, sizeof(_msg_pwm_write_duty_cycle_multi));
42-
memset(&_msg_pwm_write_frequency, 0, sizeof(_msg_pwm_write_frequency));
36+
memset(&_msg_pwm_add, 0, sizeof(_msg_pwm_add));
37+
memset(&_msg_pwm_added, 0, sizeof(_msg_pwm_added));
38+
memset(&_msg_pwm_remove, 0, sizeof(_msg_pwm_remove));
39+
memset(&_msg_pwm_write_duty_cycle, 0, sizeof(_msg_pwm_write_duty_cycle));
40+
memset(&_msg_pwm_write_frequency, 0, sizeof(_msg_pwm_write_frequency));
4341
}
4442

4543
/**************************************************************************/
46-
/*!
44+
/*!
4745
@brief Decodes a PWMAdd message from an input stream.
4846
@param stream The stream to decode from.
4947
@return true if successful, false otherwise.
@@ -55,20 +53,20 @@ bool PWMModel::DecodePWMAdd(pb_istream_t *stream) {
5553
}
5654

5755
/**************************************************************************/
58-
/*!
56+
/*!
5957
@brief Returns a pointer to the PWMAdd message.
6058
@return Pointer to the PWMAdd message.
6159
*/
6260
/**************************************************************************/
63-
wippersnapper_pwm_PWMAdd *PWMModel::GetPWMAddMsg() {
64-
return &_msg_pwm_add;
65-
}
61+
wippersnapper_pwm_PWMAdd *PWMModel::GetPWMAddMsg() { return &_msg_pwm_add; }
6662

6763
/**************************************************************************/
68-
/*!
69-
@brief Encodes a PWMAdded message with the given pin name and attach status.
64+
/*!
65+
@brief Encodes a PWMAdded message with the given pin name and attach
66+
status.
7067
@param pin_name The name of the pin.
71-
@param did_attach True if the pin was successfully attached, false otherwise.
68+
@param did_attach True if the pin was successfully attached, false
69+
otherwise.
7270
@return true if successful, false otherwise.
7371
*/
7472
/**************************************************************************/
@@ -84,11 +82,12 @@ bool PWMModel::EncodePWMAdded(char *pin_name, bool did_attach) {
8482
return false;
8583
uint8_t buf[sz_msg];
8684
pb_ostream_t msg_stream = pb_ostream_from_buffer(buf, sizeof(buf));
87-
return pb_encode(&msg_stream, wippersnapper_pwm_PWMAdded_fields, &_msg_pwm_added);
85+
return pb_encode(&msg_stream, wippersnapper_pwm_PWMAdded_fields,
86+
&_msg_pwm_added);
8887
}
8988

9089
/**************************************************************************/
91-
/*!
90+
/*!
9291
@brief Returns a pointer to the PWMAdded message.
9392
@return Pointer to the PWMAdded message.
9493
*/
@@ -98,19 +97,20 @@ wippersnapper_pwm_PWMAdded *PWMModel::GetPWMAddedMsg() {
9897
}
9998

10099
/**************************************************************************/
101-
/*!
100+
/*!
102101
@brief Decodes a PWMRemove message from an input stream.
103102
@param stream The stream to decode from.
104103
@return true if successful, false otherwise.
105104
*/
106105
/**************************************************************************/
107106
bool PWMModel::DecodePWMRemove(pb_istream_t *stream) {
108107
memset(&_msg_pwm_remove, 0, sizeof(_msg_pwm_remove));
109-
return pb_decode(stream, wippersnapper_pwm_PWMRemove_fields, &_msg_pwm_remove);
108+
return pb_decode(stream, wippersnapper_pwm_PWMRemove_fields,
109+
&_msg_pwm_remove);
110110
}
111111

112112
/**************************************************************************/
113-
/*!
113+
/*!
114114
@brief Returns a pointer to the PWMRemove message.
115115
@return Pointer to the PWMRemove message.
116116
*/
@@ -120,19 +120,20 @@ wippersnapper_pwm_PWMRemove *PWMModel::GetPWMRemoveMsg() {
120120
}
121121

122122
/**************************************************************************/
123-
/*!
123+
/*!
124124
@brief Decodes a PWMWriteDutyCycle message from an input stream.
125125
@param stream The stream to decode from.
126126
@return true if successful, false otherwise.
127127
*/
128128
/**************************************************************************/
129129
bool PWMModel::DecodePWMWriteDutyCycle(pb_istream_t *stream) {
130130
memset(&_msg_pwm_write_duty_cycle, 0, sizeof(_msg_pwm_write_duty_cycle));
131-
return pb_decode(stream, wippersnapper_pwm_PWMWriteDutyCycle_fields, &_msg_pwm_write_duty_cycle);
131+
return pb_decode(stream, wippersnapper_pwm_PWMWriteDutyCycle_fields,
132+
&_msg_pwm_write_duty_cycle);
132133
}
133134

134135
/**************************************************************************/
135-
/*!
136+
/*!
136137
@brief Returns a pointer to the PWMWriteDutyCycle message.
137138
@return Pointer to the PWMWriteDutyCycle message.
138139
*/
@@ -142,19 +143,20 @@ wippersnapper_pwm_PWMWriteDutyCycle *PWMModel::GetPWMWriteDutyCycleMsg() {
142143
}
143144

144145
/**************************************************************************/
145-
/*!
146+
/*!
146147
@brief Decodes a PWMWriteFrequency message from an input stream.
147148
@param stream The stream to decode from.
148149
@return true if successful, false otherwise.
149150
*/
150151
/**************************************************************************/
151152
bool PWMModel::DecodePWMWriteFrequency(pb_istream_t *stream) {
152153
memset(&_msg_pwm_write_frequency, 0, sizeof(_msg_pwm_write_frequency));
153-
return pb_decode(stream, wippersnapper_pwm_PWMWriteFrequency_fields, &_msg_pwm_write_frequency);
154+
return pb_decode(stream, wippersnapper_pwm_PWMWriteFrequency_fields,
155+
&_msg_pwm_write_frequency);
154156
}
155157

156158
/**************************************************************************/
157-
/*!
159+
/*!
158160
@brief Returns a pointer to the PWMWriteFrequency message.
159161
@return Pointer to the PWMWriteFrequency message.
160162
*/

src/components/servo/controller.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ bool ServoController::Handle_Servo_Remove(pb_istream_t *stream) {
163163
_active_servo_pins--;
164164

165165
WS_DEBUG_PRINT("[servo] Servo removed from pin: ");
166-
WS_DEBUG_PRINT(msg_remove->servo_pin);
166+
WS_DEBUG_PRINTLN(msg_remove->servo_pin);
167167
return true;
168168
}
169169

src/components/servo/hardware.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ ServoHardware::ServoHardware(int pin, int min_pulse_width, int max_pulse_width,
5050
ServoHardware::~ServoHardware() {
5151
if (!ServoDetach()) {
5252
WS_DEBUG_PRINTLN("[servo] Error: Failed to detach servo!");
53-
} else {
54-
WS_DEBUG_PRINT("[servo] Servo detached from pin: ");
55-
WS_DEBUG_PRINTLN(_pin);
5653
}
5754
}
5855

@@ -65,11 +62,11 @@ ServoHardware::~ServoHardware() {
6562
/**************************************************************************/
6663
bool ServoHardware::ServoDetach() {
6764
#ifdef ARDUINO_ARCH_ESP32
68-
detach();
69-
if (attached()) {
70-
WS_DEBUG_PRINTLN("[servo]Error: Servo detach failure!");
65+
if (!attached()) {
66+
WS_DEBUG_PRINTLN("[servo] Detach Error: Servo not attached!");
7167
return false;
7268
}
69+
detach();
7370
#else
7471
if (_servo == nullptr || !_servo->attached()) {
7572
WS_DEBUG_PRINTLN("[servo] Detach Error: Servo not attached!");
@@ -96,6 +93,7 @@ bool ServoHardware::ServoAttach() {
9693
if (!ledcAttach(_pin, _frequency, LEDC_TIMER_WIDTH)) {
9794
rc = 255;
9895
} else {
96+
WS_DEBUG_PRINTLN("[servo:hw:L99] Servo attached to pin");
9997
rc = 1;
10098
_is_attached = true;
10199
}

src/components/servo/hardware.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ class ServoHardware {
4343
int frequency);
4444
~ServoHardware();
4545
bool ServoAttach();
46-
bool ServoDetach();
4746
void ServoWrite(int value);
4847
uint8_t GetPin();
4948

5049
private:
50+
bool ServoDetach();
5151
#ifdef ARDUINO_ARCH_ESP32
5252
// Mocks Servo library API for ESP32x's LEDC manager
5353
// https://github.com/arduino-libraries/Servo/blob/master/src/Servo.h

0 commit comments

Comments
 (0)