Skip to content

Commit 361f97d

Browse files
committed
Fix - Remove PWMWriteDutyCycle_Multi (Unused), fix logical bug in Write Freq handler
1 parent b32ecdf commit 361f97d

File tree

5 files changed

+35
-74
lines changed

5 files changed

+35
-74
lines changed

src/components/pwm/controller.cpp

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ bool PWMController::Handle_PWM_Add(pb_istream_t *stream) {
5252
WS_DEBUG_PRINT(msg_add.pin);
5353
did_attach = _pwm_hardware[_active_pwm_pins]->AttachPin(
5454
pin, (uint32_t)msg_add.frequency, (uint32_t)msg_add.resolution);
55-
if (! did_attach) {
55+
if (!did_attach) {
5656
WS_DEBUG_PRINTLN("[pwm] Failed to attach pin!");
5757
delete _pwm_hardware[_active_pwm_pins];
5858
} else {
@@ -172,17 +172,6 @@ bool PWMController::Handle_PWM_Write_DutyCycle(pb_istream_t *stream) {
172172
return true;
173173
}
174174

175-
/**************************************************************************/
176-
/*!
177-
@brief Handles the PWM_Write_DutyCycle_Multi message.
178-
@param stream The stream containing the message data.
179-
@return True if the message was handled successfully, false otherwise.
180-
*/
181-
/**************************************************************************/
182-
bool PWMController::Handle_PWM_Write_DutyCycle_Multi(pb_istream_t *stream) {
183-
return false;
184-
}
185-
186175
/**************************************************************************/
187176
/*!
188177
@brief Handles the PWM_Write_Frequency message.
@@ -206,7 +195,7 @@ bool PWMController::Handle_PWM_Write_Frequency(pb_istream_t *stream) {
206195
return false;
207196
}
208197

209-
if (!_pwm_hardware[pin_idx]->WriteTone(msg_write_frequency.frequency) ==
198+
if (_pwm_hardware[pin_idx]->WriteTone(msg_write_frequency.frequency) !=
210199
msg_write_frequency.frequency) {
211200
WS_DEBUG_PRINTLN("[pwm] Error: Failed to write frequency!");
212201
return false;

src/components/pwm/controller.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ class PWMController {
3636
~PWMController();
3737
bool Handle_PWM_Add(pb_istream_t *stream);
3838
bool Handle_PWM_Write_DutyCycle(pb_istream_t *stream);
39-
bool Handle_PWM_Write_DutyCycle_Multi(pb_istream_t *stream);
4039
bool Handle_PWM_Write_Frequency(pb_istream_t *stream);
4140
bool Handle_PWM_Remove(pb_istream_t *stream);
4241
int GetPWMHardwareIdx(uint8_t pin);

src/components/pwm/hardware.cpp

Lines changed: 33 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@
1919
@brief Ctor for PWMHardware
2020
*/
2121
/**************************************************************************/
22-
PWMHardware::PWMHardware() {
23-
_is_attached = false;
24-
}
22+
PWMHardware::PWMHardware() { _is_attached = false; }
2523

2624
/**************************************************************************/
2725
/*!
@@ -42,21 +40,22 @@ PWMHardware::~PWMHardware() {
4240
@return true if the pin was successfully attached, false otherwise
4341
*/
4442
/**************************************************************************/
45-
bool PWMHardware::AttachPin(uint8_t pin, uint32_t frequency, uint32_t resolution) {
43+
bool PWMHardware::AttachPin(uint8_t pin, uint32_t frequency,
44+
uint32_t resolution) {
4645
#ifdef ARDUINO_ARCH_ESP32
4746
_is_attached = ledcAttach(pin, frequency, resolution);
4847
#else
4948
_is_attached = true;
5049
#endif
5150

52-
if (_is_attached) {
53-
_pin = pin;
54-
_frequency = frequency;
55-
_resolution = resolution;
56-
_duty_cycle = 0;
57-
}
51+
if (_is_attached) {
52+
_pin = pin;
53+
_frequency = frequency;
54+
_resolution = resolution;
55+
_duty_cycle = 0;
56+
}
5857

59-
return _is_attached;
58+
return _is_attached;
6059
}
6160

6261
/**************************************************************************/
@@ -66,20 +65,20 @@ return _is_attached;
6665
*/
6766
/**************************************************************************/
6867
bool PWMHardware::DetachPin() {
69-
if (! _is_attached) {
70-
WS_DEBUG_PRINTLN("[pwm] Pin not attached!");
71-
return false;
72-
}
73-
bool did_detach = false;
74-
#ifdef ARDUINO_ARCH_ESP32
75-
did_detach = ledcDetach(_pin);
76-
#else
77-
digitalWrite(_pin, LOW); // "Disable" the pin's output
78-
did_detach = true;
79-
#endif
80-
81-
_is_attached = false; // always mark as false, for tracking
82-
return did_detach;
68+
if (!_is_attached) {
69+
WS_DEBUG_PRINTLN("[pwm] Pin not attached!");
70+
return false;
71+
}
72+
bool did_detach = false;
73+
#ifdef ARDUINO_ARCH_ESP32
74+
did_detach = ledcDetach(_pin);
75+
#else
76+
digitalWrite(_pin, LOW); // "Disable" the pin's output
77+
did_detach = true;
78+
#endif
79+
80+
_is_attached = false; // always mark as false, for tracking
81+
return did_detach;
8382
}
8483

8584
/**************************************************************************/
@@ -91,18 +90,18 @@ bool PWMHardware::DetachPin() {
9190
*/
9291
/**************************************************************************/
9392
bool PWMHardware::WriteDutyCycle(uint32_t duty) {
94-
if (! _is_attached) {
93+
if (!_is_attached) {
9594
WS_DEBUG_PRINTLN("[pwm] Pin not attached!");
9695
return false;
9796
}
9897
bool did_write = false;
99-
#if defined(ARDUINO_ESP8266_ADAFRUIT_HUZZAH) && defined(STATUS_LED_PIN)
98+
#if defined(ARDUINO_ESP8266_ADAFRUIT_HUZZAH) && defined(STATUS_LED_PIN)
10099
// Adafruit Feather ESP8266's analogWrite() gets inverted since the builtin
101100
// LED is reverse-wired
102101
_duty_cycle = 255 - duty;
103-
#else
102+
#else
104103
_duty_cycle = duty;
105-
#endif
104+
#endif
106105

107106
#ifdef ARDUINO_ARCH_ESP32
108107
did_write = analogWrite(_duty_cycle);
@@ -122,18 +121,18 @@ bool PWMHardware::WriteDutyCycle(uint32_t duty) {
122121
*/
123122
/**************************************************************************/
124123
uint32_t PWMHardware::WriteTone(uint32_t freq) {
125-
if (! _is_attached) {
124+
if (!_is_attached) {
126125
WS_DEBUG_PRINTLN("[pwm] Pin not attached!");
127126
return false;
128127
}
129128

130129
uint32_t rc = 0;
131-
#ifdef ARDUINO_ARCH_ESP32
130+
#ifdef ARDUINO_ARCH_ESP32
132131
rc = ledcWriteTone(_pin, freq);
133-
#else
132+
#else
134133
tone(_pin, freq);
135134
rc = freq;
136-
#endif
135+
#endif
137136

138137
return rc;
139138
}
@@ -144,9 +143,7 @@ uint32_t PWMHardware::WriteTone(uint32_t freq) {
144143
@return The logical pin number of the PWM pin
145144
*/
146145
/**************************************************************************/
147-
uint8_t PWMHardware::GetPin() {
148-
return _pin;
149-
}
146+
uint8_t PWMHardware::GetPin() { return _pin; }
150147

151148
// LEDC API Wrappers
152149
#ifdef ARDUINO_ARCH_ESP32

src/components/pwm/model.cpp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -141,27 +141,6 @@ wippersnapper_pwm_PWMWriteDutyCycle *PWMModel::GetPWMWriteDutyCycleMsg() {
141141
return &_msg_pwm_write_duty_cycle;
142142
}
143143

144-
/**************************************************************************/
145-
/*!
146-
@brief Decodes a PWMWriteDutyCycleMulti message from an input stream.
147-
@param stream The stream to decode from.
148-
@return true if successful, false otherwise.
149-
*/
150-
/**************************************************************************/
151-
bool PWMModel::DecodePWMWriteDutyCycleMulti(pb_istream_t *stream) {
152-
return false;
153-
}
154-
155-
/**************************************************************************/
156-
/*!
157-
@brief Returns a pointer to the PWMWriteDutyCycleMulti message.
158-
@return Pointer to the PWMWriteDutyCycleMulti message.
159-
*/
160-
/**************************************************************************/
161-
wippersnapper_pwm_PWMWriteDutyCycleMulti *PWMModel::GetPWMWriteDutyCycleMultiMsg() {
162-
return &_msg_pwm_write_duty_cycle_multi;
163-
}
164-
165144
/**************************************************************************/
166145
/*!
167146
@brief Decodes a PWMWriteFrequency message from an input stream.

src/components/pwm/model.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,13 @@ class PWMModel {
3434
wippersnapper_pwm_PWMRemove *GetPWMRemoveMsg();
3535
bool DecodePWMWriteDutyCycle(pb_istream_t *stream);
3636
wippersnapper_pwm_PWMWriteDutyCycle *GetPWMWriteDutyCycleMsg();
37-
bool DecodePWMWriteDutyCycleMulti(pb_istream_t *stream);
38-
wippersnapper_pwm_PWMWriteDutyCycleMulti *GetPWMWriteDutyCycleMultiMsg();
3937
bool DecodePWMWriteFrequency(pb_istream_t *stream);
4038
wippersnapper_pwm_PWMWriteFrequency *GetPWMWriteFrequencyMsg();
4139
private:
4240
wippersnapper_pwm_PWMAdd _msg_pwm_add; ///< PWMAdd message object
4341
wippersnapper_pwm_PWMAdded _msg_pwm_added; ///< PWMAdded message object
4442
wippersnapper_pwm_PWMRemove _msg_pwm_remove; ///< PWMRemove message object
4543
wippersnapper_pwm_PWMWriteDutyCycle _msg_pwm_write_duty_cycle; ///< PWMWriteDutyCycle message object
46-
wippersnapper_pwm_PWMWriteDutyCycleMulti _msg_pwm_write_duty_cycle_multi; ///< PWMWriteDutyCycleMulti message object
4744
wippersnapper_pwm_PWMWriteFrequency _msg_pwm_write_frequency; ///< PWMWriteFrequency message object
4845
};
4946
#endif // WS_PWM_MODEL_H

0 commit comments

Comments
 (0)