🧑💻 STM32G0B1RE Pins Debugging (#24748)
This commit is contained in:
parent
bdb7f3af3f
commit
e04e18a590
@ -70,7 +70,7 @@
|
|||||||
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
||||||
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
||||||
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital
|
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital
|
||||||
#define VALID_PIN(pin) (pin >= 0 && pin < (int8_t)NUMBER_PINS_TOTAL ? 1 : 0)
|
#define VALID_PIN(pin) (pin >= 0 && pin < int8_t(NUMBER_PINS_TOTAL))
|
||||||
#define DIGITAL_PIN_TO_ANALOG_PIN(p) int(p - analogInputToDigitalPin(0))
|
#define DIGITAL_PIN_TO_ANALOG_PIN(p) int(p - analogInputToDigitalPin(0))
|
||||||
#define IS_ANALOG(P) WITHIN(P, char(analogInputToDigitalPin(0)), char(analogInputToDigitalPin(NUM_ANALOG_INPUTS - 1)))
|
#define IS_ANALOG(P) WITHIN(P, char(analogInputToDigitalPin(0)), char(analogInputToDigitalPin(NUM_ANALOG_INPUTS - 1)))
|
||||||
#define pwm_status(pin) (((g_pinStatus[pin] & 0xF) == PIN_STATUS_PWM) && \
|
#define pwm_status(pin) (((g_pinStatus[pin] & 0xF) == PIN_STATUS_PWM) && \
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
||||||
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
||||||
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital
|
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital
|
||||||
#define VALID_PIN(pin) (pin >= 0 && pin < (int8_t)NUMBER_PINS_TOTAL)
|
#define VALID_PIN(pin) (pin >= 0 && pin < int8_t(NUMBER_PINS_TOTAL))
|
||||||
#define DIGITAL_PIN_TO_ANALOG_PIN(p) digitalPinToAnalogInput(p)
|
#define DIGITAL_PIN_TO_ANALOG_PIN(p) digitalPinToAnalogInput(p)
|
||||||
#define IS_ANALOG(P) (DIGITAL_PIN_TO_ANALOG_PIN(P)!=-1)
|
#define IS_ANALOG(P) (DIGITAL_PIN_TO_ANALOG_PIN(P)!=-1)
|
||||||
#define pwm_status(pin) digitalPinHasPWM(pin)
|
#define pwm_status(pin) digitalPinHasPWM(pin)
|
||||||
|
@ -108,11 +108,12 @@ const XrefInfo pin_xref[] PROGMEM = {
|
|||||||
* Translation of routines & variables used by pinsDebug.h
|
* Translation of routines & variables used by pinsDebug.h
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if PA0 >= NUM_DIGITAL_PINS
|
#if NUM_ANALOG_FIRST >= NUM_DIGITAL_PINS
|
||||||
#define HAS_HIGH_ANALOG_PINS 1
|
#define HAS_HIGH_ANALOG_PINS 1
|
||||||
#endif
|
#endif
|
||||||
#define NUMBER_PINS_TOTAL NUM_DIGITAL_PINS + TERN0(HAS_HIGH_ANALOG_PINS, NUM_ANALOG_INPUTS)
|
#define NUM_ANALOG_LAST ((NUM_ANALOG_FIRST) + (NUM_ANALOG_INPUTS) - 1)
|
||||||
#define VALID_PIN(ANUM) ((ANUM) >= 0 && (ANUM) < NUMBER_PINS_TOTAL)
|
#define NUMBER_PINS_TOTAL ((NUM_DIGITAL_PINS) + TERN0(HAS_HIGH_ANALOG_PINS, NUM_ANALOG_INPUTS))
|
||||||
|
#define VALID_PIN(P) (WITHIN(P, 0, (NUM_DIGITAL_PINS) - 1) || TERN0(HAS_HIGH_ANALOG_PINS, WITHIN(P, NUM_ANALOG_FIRST, NUM_ANALOG_LAST)))
|
||||||
#define digitalRead_mod(Ard_num) extDigitalRead(Ard_num) // must use Arduino pin numbers when doing reads
|
#define digitalRead_mod(Ard_num) extDigitalRead(Ard_num) // must use Arduino pin numbers when doing reads
|
||||||
#define PRINT_PIN(Q)
|
#define PRINT_PIN(Q)
|
||||||
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
||||||
@ -168,7 +169,7 @@ bool GET_PINMODE(const pin_t Ard_num) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int8_t digital_pin_to_analog_pin(const pin_t Ard_num) {
|
int8_t digital_pin_to_analog_pin(const pin_t Ard_num) {
|
||||||
if (WITHIN(Ard_num, NUM_ANALOG_FIRST, NUM_ANALOG_FIRST + NUM_ANALOG_INPUTS - 1))
|
if (WITHIN(Ard_num, NUM_ANALOG_FIRST, NUM_ANALOG_LAST))
|
||||||
return Ard_num - NUM_ANALOG_FIRST;
|
return Ard_num - NUM_ANALOG_FIRST;
|
||||||
|
|
||||||
const uint32_t ind = digitalPinToAnalogInput(Ard_num);
|
const uint32_t ind = digitalPinToAnalogInput(Ard_num);
|
||||||
@ -206,8 +207,11 @@ void port_print(const pin_t Ard_num) {
|
|||||||
SERIAL_ECHO_SP(7);
|
SERIAL_ECHO_SP(7);
|
||||||
|
|
||||||
// Print number to be used with M42
|
// Print number to be used with M42
|
||||||
int calc_p = Ard_num % (NUM_DIGITAL_PINS + 1);
|
int calc_p = Ard_num;
|
||||||
if (Ard_num > NUM_DIGITAL_PINS && calc_p > 7) calc_p += 8;
|
if (Ard_num > NUM_DIGITAL_PINS) {
|
||||||
|
calc_p -= NUM_ANALOG_FIRST;
|
||||||
|
if (calc_p > 7) calc_p += 8;
|
||||||
|
}
|
||||||
SERIAL_ECHOPGM(" M42 P", calc_p);
|
SERIAL_ECHOPGM(" M42 P", calc_p);
|
||||||
SERIAL_CHAR(' ');
|
SERIAL_CHAR(' ');
|
||||||
if (calc_p < 100) {
|
if (calc_p < 100) {
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
#define PRINT_PIN_ANALOG(p) do{ sprintf_P(buffer, PSTR(" (A%2d) "), DIGITAL_PIN_TO_ANALOG_PIN(pin)); SERIAL_ECHO(buffer); }while(0)
|
||||||
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
#define GET_ARRAY_PIN(p) pin_array[p].pin
|
||||||
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital
|
#define GET_ARRAY_IS_DIGITAL(p) pin_array[p].is_digital
|
||||||
#define VALID_PIN(pin) (pin >= 0 && pin < (int8_t)NUMBER_PINS_TOTAL ? 1 : 0)
|
#define VALID_PIN(pin) (pin >= 0 && pin < int8_t(NUMBER_PINS_TOTAL))
|
||||||
#define DIGITAL_PIN_TO_ANALOG_PIN(p) int(p - analogInputToDigitalPin(0))
|
#define DIGITAL_PIN_TO_ANALOG_PIN(p) int(p - analogInputToDigitalPin(0))
|
||||||
#define IS_ANALOG(P) ((P) >= analogInputToDigitalPin(0) && (P) <= analogInputToDigitalPin(13)) || ((P) >= analogInputToDigitalPin(14) && (P) <= analogInputToDigitalPin(17))
|
#define IS_ANALOG(P) ((P) >= analogInputToDigitalPin(0) && (P) <= analogInputToDigitalPin(13)) || ((P) >= analogInputToDigitalPin(14) && (P) <= analogInputToDigitalPin(17))
|
||||||
#define pwm_status(pin) HAL_pwm_status(pin)
|
#define pwm_status(pin) HAL_pwm_status(pin)
|
||||||
|
@ -313,7 +313,7 @@ void GcodeSuite::M43() {
|
|||||||
|
|
||||||
// 'P' Get the range of pins to test or watch
|
// 'P' Get the range of pins to test or watch
|
||||||
uint8_t first_pin = PARSED_PIN_INDEX('P', 0),
|
uint8_t first_pin = PARSED_PIN_INDEX('P', 0),
|
||||||
last_pin = parser.seenval('P') ? first_pin : TERN(HAS_HIGH_ANALOG_PINS, NUM_DIGITAL_PINS, NUMBER_PINS_TOTAL) - 1;
|
last_pin = parser.seenval('P') ? first_pin : (NUMBER_PINS_TOTAL) - 1;
|
||||||
|
|
||||||
if (first_pin > last_pin) return;
|
if (first_pin > last_pin) return;
|
||||||
|
|
||||||
|
@ -124,6 +124,7 @@
|
|||||||
#define NUM_DIGITAL_PINS 62
|
#define NUM_DIGITAL_PINS 62
|
||||||
#define NUM_REMAP_PINS 2
|
#define NUM_REMAP_PINS 2
|
||||||
#define NUM_ANALOG_INPUTS 16
|
#define NUM_ANALOG_INPUTS 16
|
||||||
|
#define NUM_ANALOG_FIRST PA0
|
||||||
|
|
||||||
// SPI definitions
|
// SPI definitions
|
||||||
#ifndef PIN_SPI_SS
|
#ifndef PIN_SPI_SS
|
||||||
|
Loading…
Reference in New Issue
Block a user