|
|
|
@ -26,15 +26,15 @@
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS
|
|
|
|
|
#define pwm_details(pin) pin = pin // do nothing // print PWM details
|
|
|
|
|
#define pwm_status(pin) false //Print a pin's PWM status. Return true if it's currently a PWM pin.
|
|
|
|
|
#define IS_ANALOG(P) (DIGITAL_PIN_TO_ANALOG_PIN(P) >= 0 ? 1 : 0)
|
|
|
|
|
#define pwm_details(pin) NOOP // (do nothing)
|
|
|
|
|
#define pwm_status(pin) false // Print a pin's PWM status. Return true if it's currently a PWM pin.
|
|
|
|
|
#define IS_ANALOG(P) (DIGITAL_PIN_TO_ANALOG_PIN(P) >= 0 ? 1 : 0)
|
|
|
|
|
#define digitalRead_mod(p) digitalRead(p)
|
|
|
|
|
#define PRINT_PORT(p)
|
|
|
|
|
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
|
|
|
|
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
|
|
|
|
#define PRINT_ARRAY_NAME(x) do{ sprintf_P(buffer, PSTR("%-" STRINGIFY(MAX_NAME_LENGTH) "s"), pin_array[x].name); SERIAL_ECHO(buffer); }while(0)
|
|
|
|
|
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%3d "), p); SERIAL_ECHO(buffer); }while(0)
|
|
|
|
|
#define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin
|
|
|
|
|
#define PRINT_PIN(p) do{ sprintf_P(buffer, PSTR("%3d "), p); SERIAL_ECHO(buffer); }while(0)
|
|
|
|
|
#define MULTI_NAME_PAD 16 // space needed to be pretty if not first name assigned to a pin
|
|
|
|
|
|
|
|
|
|
// active ADC function/mode/code values for PINSEL registers
|
|
|
|
|
constexpr int8_t ADC_pin_mode(pin_t pin) {
|
|
|
|
|