54
54
55
55
uint8_t channels_resolution [LEDC_CHANNELS ] = {0 };
56
56
57
- double ledcSetup (uint8_t chan , double freq , uint8_t bit_num )
57
+ uint32_t ledcSetup (uint8_t chan , uint32_t freq , uint8_t bit_num )
58
58
{
59
59
if (chan >= LEDC_CHANNELS || bit_num > LEDC_MAX_BIT_WIDTH ){
60
60
log_e ("No more LEDC channels available! (maximum %u) or bit width too big (maximum %u)" , LEDC_CHANNELS , LEDC_MAX_BIT_WIDTH );
@@ -106,7 +106,7 @@ uint32_t ledcRead(uint8_t chan)
106
106
return ledc_get_duty (group ,channel );
107
107
}
108
108
109
- double ledcReadFreq (uint8_t chan )
109
+ uint32_t ledcReadFreq (uint8_t chan )
110
110
{
111
111
if (!ledcRead (chan )){
112
112
return 0 ;
@@ -115,7 +115,7 @@ double ledcReadFreq(uint8_t chan)
115
115
return ledc_get_freq (group ,timer );
116
116
}
117
117
118
- double ledcWriteTone (uint8_t chan , double freq )
118
+ uint32_t ledcWriteTone (uint8_t chan , uint32_t freq )
119
119
{
120
120
if (chan >= LEDC_CHANNELS ){
121
121
return 0 ;
@@ -142,12 +142,12 @@ double ledcWriteTone(uint8_t chan, double freq)
142
142
}
143
143
channels_resolution [chan ] = 10 ;
144
144
145
- double res_freq = ledc_get_freq (group ,timer );
145
+ uint32_t res_freq = ledc_get_freq (group ,timer );
146
146
ledcWrite (chan , 0x1FF );
147
147
return res_freq ;
148
148
}
149
149
150
- double ledcWriteNote (uint8_t chan , note_t note , uint8_t octave ){
150
+ uint32_t ledcWriteNote (uint8_t chan , note_t note , uint8_t octave ){
151
151
const uint16_t noteFrequencyBase [12 ] = {
152
152
// C C# D Eb E F F# G G# A Bb B
153
153
4186 , 4435 , 4699 , 4978 , 5274 , 5588 , 5920 , 6272 , 6645 , 7040 , 7459 , 7902
@@ -156,7 +156,7 @@ double ledcWriteNote(uint8_t chan, note_t note, uint8_t octave){
156
156
if (octave > 8 || note >= NOTE_MAX ){
157
157
return 0 ;
158
158
}
159
- double noteFreq = (double )noteFrequencyBase [note ] / (double )(1 << (8 - octave ));
159
+ uint32_t noteFreq = (uint32_t )noteFrequencyBase [note ] / (uint32_t )(1 << (8 - octave ));
160
160
return ledcWriteTone (chan , noteFreq );
161
161
}
162
162
@@ -184,7 +184,7 @@ void ledcDetachPin(uint8_t pin)
184
184
pinMatrixOutDetach (pin , false, false);
185
185
}
186
186
187
- double ledcChangeFrequency (uint8_t chan , double freq , uint8_t bit_num )
187
+ uint32_t ledcChangeFrequency (uint8_t chan , uint32_t freq , uint8_t bit_num )
188
188
{
189
189
if (chan >= LEDC_CHANNELS || bit_num > LEDC_MAX_BIT_WIDTH ){
190
190
log_e ("LEDC channel not available! (maximum %u) or bit width too big (maximum %u)" , LEDC_CHANNELS , LEDC_MAX_BIT_WIDTH );
0 commit comments