|
@@ -112,7 +112,7 @@
|
112
|
112
|
*/
|
113
|
113
|
|
114
|
114
|
// Waveform Generation Modes
|
115
|
|
-typedef enum {
|
|
115
|
+enum WaveGenMode : char {
|
116
|
116
|
WGM_NORMAL, // 0
|
117
|
117
|
WGM_PWM_PC_8, // 1
|
118
|
118
|
WGM_PWM_PC_9, // 2
|
|
@@ -129,18 +129,18 @@ typedef enum {
|
129
|
129
|
WGM_reserved, // 13
|
130
|
130
|
WGM_FAST_PWM_ICRn, // 14 COM OCnA
|
131
|
131
|
WGM_FAST_PWM_OCRnA // 15 COM OCnA
|
132
|
|
-} WaveGenMode;
|
|
132
|
+};
|
133
|
133
|
|
134
|
134
|
// Compare Modes
|
135
|
|
-typedef enum {
|
|
135
|
+enum CompareMode : char {
|
136
|
136
|
COM_NORMAL, // 0
|
137
|
137
|
COM_TOGGLE, // 1 Non-PWM: OCnx ... Both PWM (WGM 9,11,14,15): OCnA only ... else NORMAL
|
138
|
138
|
COM_CLEAR_SET, // 2 Non-PWM: OCnx ... Fast PWM: OCnx/Bottom ... PF-FC: OCnx Up/Down
|
139
|
139
|
COM_SET_CLEAR // 3 Non-PWM: OCnx ... Fast PWM: OCnx/Bottom ... PF-FC: OCnx Up/Down
|
140
|
|
-} CompareMode;
|
|
140
|
+};
|
141
|
141
|
|
142
|
142
|
// Clock Sources
|
143
|
|
-typedef enum {
|
|
143
|
+enum ClockSource : char {
|
144
|
144
|
CS_NONE, // 0
|
145
|
145
|
CS_PRESCALER_1, // 1
|
146
|
146
|
CS_PRESCALER_8, // 2
|
|
@@ -149,10 +149,10 @@ typedef enum {
|
149
|
149
|
CS_PRESCALER_1024, // 5
|
150
|
150
|
CS_EXT_FALLING, // 6
|
151
|
151
|
CS_EXT_RISING // 7
|
152
|
|
-} ClockSource;
|
|
152
|
+};
|
153
|
153
|
|
154
|
154
|
// Clock Sources (Timer 2 only)
|
155
|
|
-typedef enum {
|
|
155
|
+enum ClockSource2 : char {
|
156
|
156
|
CS2_NONE, // 0
|
157
|
157
|
CS2_PRESCALER_1, // 1
|
158
|
158
|
CS2_PRESCALER_8, // 2
|
|
@@ -161,7 +161,7 @@ typedef enum {
|
161
|
161
|
CS2_PRESCALER_128, // 5
|
162
|
162
|
CS2_PRESCALER_256, // 6
|
163
|
163
|
CS2_PRESCALER_1024 // 7
|
164
|
|
-} ClockSource2;
|
|
164
|
+};
|
165
|
165
|
|
166
|
166
|
// Get interrupt bits in an orderly way
|
167
|
167
|
// Ex: cs = GET_CS(0); coma1 = GET_COM(A,1);
|
|
@@ -240,7 +240,7 @@ typedef enum {
|
240
|
240
|
* PWM availability macros
|
241
|
241
|
*/
|
242
|
242
|
|
243
|
|
-//find out which harware PWMs are already in use
|
|
243
|
+// Determine which harware PWMs are already in use
|
244
|
244
|
#if PIN_EXISTS(CONTROLLER_FAN)
|
245
|
245
|
#define PWM_CHK_FAN_B(p) (p == CONTROLLER_FAN_PIN || p == E0_AUTO_FAN_PIN || p == E1_AUTO_FAN_PIN || p == E2_AUTO_FAN_PIN || p == E3_AUTO_FAN_PIN || p == E4_AUTO_FAN_PIN || p == CHAMBER_AUTO_FAN_PIN)
|
246
|
246
|
#else
|
|
@@ -253,7 +253,7 @@ typedef enum {
|
253
|
253
|
#elif PIN_EXISTS(FAN1)
|
254
|
254
|
#define PWM_CHK_FAN_A(p) (p == FAN_PIN || p == FAN1_PIN)
|
255
|
255
|
#else
|
256
|
|
- #define PWM_CHK_FAN_A(p) p == FAN_PIN
|
|
256
|
+ #define PWM_CHK_FAN_A(p) (p == FAN_PIN)
|
257
|
257
|
#endif
|
258
|
258
|
#else
|
259
|
259
|
#define PWM_CHK_FAN_A(p) false
|
|
@@ -273,13 +273,13 @@ typedef enum {
|
273
|
273
|
|
274
|
274
|
#ifdef NUM_SERVOS
|
275
|
275
|
#if AVR_ATmega2560_FAMILY
|
276
|
|
- #define PWM_CHK_SERVO(p) ( p == 5 || NUM_SERVOS > 12 && p == 6 || NUM_SERVOS > 24 && p == 46) //PWMS 3A, 4A & 5A
|
|
276
|
+ #define PWM_CHK_SERVO(p) (p == 5 || (NUM_SERVOS > 12 && p == 6) || (NUM_SERVOS > 24 && p == 46)) // PWMS 3A, 4A & 5A
|
277
|
277
|
#elif AVR_ATmega2561_FAMILY
|
278
|
|
- #define PWM_CHK_SERVO(p) p == 5 //PWM3A
|
|
278
|
+ #define PWM_CHK_SERVO(p) (p == 5) // PWM3A
|
279
|
279
|
#elif AVR_ATmega1284_FAMILY
|
280
|
280
|
#define PWM_CHK_SERVO(p) false
|
281
|
281
|
#elif AVR_AT90USB1286_FAMILY
|
282
|
|
- #define PWM_CHK_SERVO(p) p == 16 //PWM3A
|
|
282
|
+ #define PWM_CHK_SERVO(p) (p == 16) // PWM3A
|
283
|
283
|
#elif AVR_ATmega328_FAMILY
|
284
|
284
|
#define PWM_CHK_SERVO(p) false
|
285
|
285
|
#endif
|
|
@@ -303,15 +303,15 @@ typedef enum {
|
303
|
303
|
// define which hardware PWMs are available for the current CPU
|
304
|
304
|
// all timer 1 PWMS deleted from this list because they are never available
|
305
|
305
|
#if AVR_ATmega2560_FAMILY
|
306
|
|
- #define PWM_PINS(p) ((p >= 2 && p <= 10 ) || p == 13 || p == 44 || p == 45 || p == 46 )
|
|
306
|
+ #define PWM_PINS(p) ((p >= 2 && p <= 10) || p == 13 || p == 44 || p == 45 || p == 46)
|
307
|
307
|
#elif AVR_ATmega2561_FAMILY
|
308
|
|
- #define PWM_PINS(p) ((p >= 2 && p <= 6 ) || p == 9)
|
|
308
|
+ #define PWM_PINS(p) ((p >= 2 && p <= 6) || p == 9)
|
309
|
309
|
#elif AVR_ATmega1284_FAMILY
|
310
|
|
- #define PWM_PINS(p) (p == 3 || p == 4 || p == 14 || p == 15)
|
|
310
|
+ #define PWM_PINS(p) (p == 3 || p == 4 || p == 14 || p == 15)
|
311
|
311
|
#elif AVR_AT90USB1286_FAMILY
|
312
|
|
- #define PWM_PINS(p) (p == 0 || p == 1 || p == 14 || p == 15 || p == 16 || p == 24)
|
|
312
|
+ #define PWM_PINS(p) (p == 0 || p == 1 || p == 14 || p == 15 || p == 16 || p == 24)
|
313
|
313
|
#elif AVR_ATmega328_FAMILY
|
314
|
|
- #define PWM_PINS(p) (p == 3 || p == 5 || p == 6 || p == 11)
|
|
314
|
+ #define PWM_PINS(p) (p == 3 || p == 5 || p == 6 || p == 11)
|
315
|
315
|
#else
|
316
|
316
|
#error "unknown CPU"
|
317
|
317
|
#endif
|