1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 01:05:27 +03:00

Remove port "A" reference from IO (#14112)

This commit is contained in:
Jay Blackman 2025-01-04 15:35:15 +11:00 committed by GitHub
parent 6c283141ac
commit a81434c693
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 222 additions and 210 deletions

View file

@ -41,13 +41,23 @@
// get ioRec by index
#define DEFIO_REC_INDEXED(idx) (ioRecs + (idx))
// ioTag_t accessor macros
#define DEFIO_TAG_MAKE(gpioid, pin) ((ioTag_t)((((gpioid) + 1) << 4) | (pin)))
#define DEFIO_TAG_ISEMPTY(tag) (!(tag))
#define DEFIO_TAG_GPIOID(tag) (((tag) >> 4) - 1)
#define DEFIO_TAG_PIN(tag) ((tag) & 0x0f)
// TARGET must define used pins
#include "target.h"
// TODO: hack for the minute
#ifndef DEFIO_PIN_BITMASK
#define DEFIO_PIN_BITMASK 0x0f
#endif
#ifndef DEFIO_PORT_BITSHIFT
#define DEFIO_PORT_BITSHIFT 4
#endif
// ioTag_t accessor macros
#define DEFIO_TAG_MAKE(gpioid, pin) ((ioTag_t)((((gpioid) + 1) << DEFIO_PORT_BITSHIFT) | (pin)))
#define DEFIO_TAG_ISEMPTY(tag) (!(tag))
#define DEFIO_TAG_GPIOID(tag) (((tag) >> DEFIO_PORT_BITSHIFT) - 1)
#define DEFIO_TAG_PIN(tag) ((tag) & DEFIO_PIN_BITMASK)
// include template-generated macros for IO pins
#include "io_def_generated.h"

View file

@ -1,19 +1,20 @@
/*
* This file is part of Cleanflight and Betaflight.
* This file is part of Betaflight.
*
* Cleanflight and Betaflight are free software. You can redistribute
* this software and/or modify this software under the terms of the
* GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version.
* Betaflight is free software. You can redistribute this software
* and/or modify this software under the terms of the GNU General
* Public License as published by the Free Software Foundation,
* either version 3 of the License, or (at your option) any later
* version.
*
* Betaflight is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* Cleanflight and Betaflight are distributed in the hope that they
* will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software.
* You should have received a copy of the GNU General Public
* License along with this software.
*
* If not, see <http://www.gnu.org/licenses/>.
*/
@ -24,195 +25,193 @@
// DEFIO_PORT_<port>_USED_COUNT is count of used pins on target
#if defined(RP2350A)
#define DEFIO_PORT_A_USED_COUNT 30
#define DEFIO_USED_COUNT 30
#elif defined(RP2350B)
#define DEFIO_PORT_A_USED_COUNT 48
#define DEFIO_USED_COUNT 48
#else
#error "Unsupported target MCU type for PICO"
#endif
#define DEFIO_PORT_A_OFFSET (0)
// DEFIO_GPIOID__<port> maps to port index
#define DEFIO_GPIOID__A 0
#undef DEFIO_TAG_MAKE
#define DEFIO_TAG_MAKE(pin) ((ioTag_t)(((1) << DEFIO_PORT_BITSHIFT) | (pin)))
// DEFIO_TAG__P<port><pin> will expand to TAG if defined for target, error is triggered otherwise
// DEFIO_TAG_E__P<port><pin> will expand to TAG if defined, to NONE otherwise (usefull for tables that are CPU-specific)
// DEFIO_REC__P<port><pin> will expand to ioRec* (using DEFIO_REC_INDEX(idx))
#define DEFIO_TAG__PA0 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 0)
#define DEFIO_TAG__PA1 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 1)
#define DEFIO_TAG__PA2 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 2)
#define DEFIO_TAG__PA3 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 3)
#define DEFIO_TAG__PA4 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 4)
#define DEFIO_TAG__PA5 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 5)
#define DEFIO_TAG__PA6 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 6)
#define DEFIO_TAG__PA7 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 7)
#define DEFIO_TAG__PA8 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 8)
#define DEFIO_TAG__PA9 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 9)
#define DEFIO_TAG__PA10 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 10)
#define DEFIO_TAG__PA11 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 11)
#define DEFIO_TAG__PA12 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 12)
#define DEFIO_TAG__PA13 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 13)
#define DEFIO_TAG__PA14 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 14)
#define DEFIO_TAG__PA15 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 15)
#define DEFIO_TAG__PA16 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 16)
#define DEFIO_TAG__PA17 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 17)
#define DEFIO_TAG__PA18 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 18)
#define DEFIO_TAG__PA19 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 19)
#define DEFIO_TAG__PA20 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 20)
#define DEFIO_TAG__PA21 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 21)
#define DEFIO_TAG__PA22 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 22)
#define DEFIO_TAG__PA23 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 23)
#define DEFIO_TAG__PA24 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 24)
#define DEFIO_TAG__PA25 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 25)
#define DEFIO_TAG__PA26 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 26)
#define DEFIO_TAG__PA27 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 27)
#define DEFIO_TAG__PA28 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 28)
#define DEFIO_TAG__PA29 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 29)
#define DEFIO_TAG__P0 DEFIO_TAG_MAKE(0)
#define DEFIO_TAG__P1 DEFIO_TAG_MAKE(1)
#define DEFIO_TAG__P2 DEFIO_TAG_MAKE(2)
#define DEFIO_TAG__P3 DEFIO_TAG_MAKE(3)
#define DEFIO_TAG__P4 DEFIO_TAG_MAKE(4)
#define DEFIO_TAG__P5 DEFIO_TAG_MAKE(5)
#define DEFIO_TAG__P6 DEFIO_TAG_MAKE(6)
#define DEFIO_TAG__P7 DEFIO_TAG_MAKE(7)
#define DEFIO_TAG__P8 DEFIO_TAG_MAKE(8)
#define DEFIO_TAG__P9 DEFIO_TAG_MAKE(9)
#define DEFIO_TAG__P10 DEFIO_TAG_MAKE(10)
#define DEFIO_TAG__P11 DEFIO_TAG_MAKE(11)
#define DEFIO_TAG__P12 DEFIO_TAG_MAKE(12)
#define DEFIO_TAG__P13 DEFIO_TAG_MAKE(13)
#define DEFIO_TAG__P14 DEFIO_TAG_MAKE(14)
#define DEFIO_TAG__P15 DEFIO_TAG_MAKE(15)
#define DEFIO_TAG__P16 DEFIO_TAG_MAKE(16)
#define DEFIO_TAG__P17 DEFIO_TAG_MAKE(17)
#define DEFIO_TAG__P18 DEFIO_TAG_MAKE(18)
#define DEFIO_TAG__P19 DEFIO_TAG_MAKE(19)
#define DEFIO_TAG__P20 DEFIO_TAG_MAKE(20)
#define DEFIO_TAG__P21 DEFIO_TAG_MAKE(21)
#define DEFIO_TAG__P22 DEFIO_TAG_MAKE(22)
#define DEFIO_TAG__P23 DEFIO_TAG_MAKE(23)
#define DEFIO_TAG__P24 DEFIO_TAG_MAKE(24)
#define DEFIO_TAG__P25 DEFIO_TAG_MAKE(25)
#define DEFIO_TAG__P26 DEFIO_TAG_MAKE(26)
#define DEFIO_TAG__P27 DEFIO_TAG_MAKE(27)
#define DEFIO_TAG__P28 DEFIO_TAG_MAKE(28)
#define DEFIO_TAG__P29 DEFIO_TAG_MAKE(29)
#if defined(RP2350B)
#define DEFIO_TAG__PA30 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 30)
#define DEFIO_TAG__PA31 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 31)
#define DEFIO_TAG__PA32 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 32)
#define DEFIO_TAG__PA33 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 33)
#define DEFIO_TAG__PA34 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 34)
#define DEFIO_TAG__PA35 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 35)
#define DEFIO_TAG__PA36 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 36)
#define DEFIO_TAG__PA37 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 37)
#define DEFIO_TAG__PA38 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 38)
#define DEFIO_TAG__PA39 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 39)
#define DEFIO_TAG__PA40 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 40)
#define DEFIO_TAG__PA41 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 41)
#define DEFIO_TAG__PA42 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 42)
#define DEFIO_TAG__PA43 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 43)
#define DEFIO_TAG__PA44 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 44)
#define DEFIO_TAG__PA45 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 45)
#define DEFIO_TAG__PA46 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 46)
#define DEFIO_TAG__PA47 DEFIO_TAG_MAKE(DEFIO_GPIOID__A, 47)
#define DEFIO_TAG__P30 DEFIO_TAG_MAKE(30)
#define DEFIO_TAG__P31 DEFIO_TAG_MAKE(31)
#define DEFIO_TAG__P32 DEFIO_TAG_MAKE(32)
#define DEFIO_TAG__P33 DEFIO_TAG_MAKE(33)
#define DEFIO_TAG__P34 DEFIO_TAG_MAKE(34)
#define DEFIO_TAG__P35 DEFIO_TAG_MAKE(35)
#define DEFIO_TAG__P36 DEFIO_TAG_MAKE(36)
#define DEFIO_TAG__P37 DEFIO_TAG_MAKE(37)
#define DEFIO_TAG__P38 DEFIO_TAG_MAKE(38)
#define DEFIO_TAG__P39 DEFIO_TAG_MAKE(39)
#define DEFIO_TAG__P40 DEFIO_TAG_MAKE(40)
#define DEFIO_TAG__P41 DEFIO_TAG_MAKE(41)
#define DEFIO_TAG__P42 DEFIO_TAG_MAKE(42)
#define DEFIO_TAG__P43 DEFIO_TAG_MAKE(43)
#define DEFIO_TAG__P44 DEFIO_TAG_MAKE(44)
#define DEFIO_TAG__P45 DEFIO_TAG_MAKE(45)
#define DEFIO_TAG__P46 DEFIO_TAG_MAKE(46)
#define DEFIO_TAG__P47 DEFIO_TAG_MAKE(47)
#endif
#define DEFIO_TAG_E__PA0 DEFIO_TAG__PA0
#define DEFIO_TAG_E__PA1 DEFIO_TAG__PA1
#define DEFIO_TAG_E__PA2 DEFIO_TAG__PA2
#define DEFIO_TAG_E__PA3 DEFIO_TAG__PA3
#define DEFIO_TAG_E__PA4 DEFIO_TAG__PA4
#define DEFIO_TAG_E__PA5 DEFIO_TAG__PA5
#define DEFIO_TAG_E__PA6 DEFIO_TAG__PA6
#define DEFIO_TAG_E__PA7 DEFIO_TAG__PA7
#define DEFIO_TAG_E__PA8 DEFIO_TAG__PA8
#define DEFIO_TAG_E__PA9 DEFIO_TAG__PA9
#define DEFIO_TAG_E__PA10 DEFIO_TAG__PA10
#define DEFIO_TAG_E__PA11 DEFIO_TAG__PA11
#define DEFIO_TAG_E__PA12 DEFIO_TAG__PA12
#define DEFIO_TAG_E__PA13 DEFIO_TAG__PA13
#define DEFIO_TAG_E__PA14 DEFIO_TAG__PA14
#define DEFIO_TAG_E__PA15 DEFIO_TAG__PA15
#define DEFIO_TAG_E__PA16 DEFIO_TAG__PA16
#define DEFIO_TAG_E__PA17 DEFIO_TAG__PA17
#define DEFIO_TAG_E__PA18 DEFIO_TAG__PA18
#define DEFIO_TAG_E__PA19 DEFIO_TAG__PA19
#define DEFIO_TAG_E__PA20 DEFIO_TAG__PA20
#define DEFIO_TAG_E__PA21 DEFIO_TAG__PA21
#define DEFIO_TAG_E__PA22 DEFIO_TAG__PA22
#define DEFIO_TAG_E__PA23 DEFIO_TAG__PA23
#define DEFIO_TAG_E__PA24 DEFIO_TAG__PA24
#define DEFIO_TAG_E__PA25 DEFIO_TAG__PA25
#define DEFIO_TAG_E__PA26 DEFIO_TAG__PA26
#define DEFIO_TAG_E__PA27 DEFIO_TAG__PA27
#define DEFIO_TAG_E__PA28 DEFIO_TAG__PA28
#define DEFIO_TAG_E__PA29 DEFIO_TAG__PA29
#define DEFIO_TAG_E__P0 DEFIO_TAG__P0
#define DEFIO_TAG_E__P1 DEFIO_TAG__P1
#define DEFIO_TAG_E__P2 DEFIO_TAG__P2
#define DEFIO_TAG_E__P3 DEFIO_TAG__P3
#define DEFIO_TAG_E__P4 DEFIO_TAG__P4
#define DEFIO_TAG_E__P5 DEFIO_TAG__P5
#define DEFIO_TAG_E__P6 DEFIO_TAG__P6
#define DEFIO_TAG_E__P7 DEFIO_TAG__P7
#define DEFIO_TAG_E__P8 DEFIO_TAG__P8
#define DEFIO_TAG_E__P9 DEFIO_TAG__P9
#define DEFIO_TAG_E__P10 DEFIO_TAG__P10
#define DEFIO_TAG_E__P11 DEFIO_TAG__P11
#define DEFIO_TAG_E__P12 DEFIO_TAG__P12
#define DEFIO_TAG_E__P13 DEFIO_TAG__P13
#define DEFIO_TAG_E__P14 DEFIO_TAG__P14
#define DEFIO_TAG_E__P15 DEFIO_TAG__P15
#define DEFIO_TAG_E__P16 DEFIO_TAG__P16
#define DEFIO_TAG_E__P17 DEFIO_TAG__P17
#define DEFIO_TAG_E__P18 DEFIO_TAG__P18
#define DEFIO_TAG_E__P19 DEFIO_TAG__P19
#define DEFIO_TAG_E__P20 DEFIO_TAG__P20
#define DEFIO_TAG_E__P21 DEFIO_TAG__P21
#define DEFIO_TAG_E__P22 DEFIO_TAG__P22
#define DEFIO_TAG_E__P23 DEFIO_TAG__P23
#define DEFIO_TAG_E__P24 DEFIO_TAG__P24
#define DEFIO_TAG_E__P25 DEFIO_TAG__P25
#define DEFIO_TAG_E__P26 DEFIO_TAG__P26
#define DEFIO_TAG_E__P27 DEFIO_TAG__P27
#define DEFIO_TAG_E__P28 DEFIO_TAG__P28
#define DEFIO_TAG_E__P29 DEFIO_TAG__P29
#if defined(RP2350B)
#define DEFIO_TAG_E__PA30 DEFIO_TAG__PA30
#define DEFIO_TAG_E__PA31 DEFIO_TAG__PA31
#define DEFIO_TAG_E__PA32 DEFIO_TAG__PA32
#define DEFIO_TAG_E__PA33 DEFIO_TAG__PA33
#define DEFIO_TAG_E__PA34 DEFIO_TAG__PA34
#define DEFIO_TAG_E__PA35 DEFIO_TAG__PA35
#define DEFIO_TAG_E__PA36 DEFIO_TAG__PA36
#define DEFIO_TAG_E__PA37 DEFIO_TAG__PA37
#define DEFIO_TAG_E__PA38 DEFIO_TAG__PA38
#define DEFIO_TAG_E__PA39 DEFIO_TAG__PA39
#define DEFIO_TAG_E__PA40 DEFIO_TAG__PA40
#define DEFIO_TAG_E__PA41 DEFIO_TAG__PA41
#define DEFIO_TAG_E__PA42 DEFIO_TAG__PA42
#define DEFIO_TAG_E__PA43 DEFIO_TAG__PA43
#define DEFIO_TAG_E__PA44 DEFIO_TAG__PA44
#define DEFIO_TAG_E__PA45 DEFIO_TAG__PA45
#define DEFIO_TAG_E__PA46 DEFIO_TAG__PA46
#define DEFIO_TAG_E__PA47 DEFIO_TAG__PA47
#define DEFIO_TAG_E__P30 DEFIO_TAG__P30
#define DEFIO_TAG_E__P31 DEFIO_TAG__P31
#define DEFIO_TAG_E__P32 DEFIO_TAG__P32
#define DEFIO_TAG_E__P33 DEFIO_TAG__P33
#define DEFIO_TAG_E__P34 DEFIO_TAG__P34
#define DEFIO_TAG_E__P35 DEFIO_TAG__P35
#define DEFIO_TAG_E__P36 DEFIO_TAG__P36
#define DEFIO_TAG_E__P37 DEFIO_TAG__P37
#define DEFIO_TAG_E__P38 DEFIO_TAG__P38
#define DEFIO_TAG_E__P39 DEFIO_TAG__P39
#define DEFIO_TAG_E__P40 DEFIO_TAG__P40
#define DEFIO_TAG_E__P41 DEFIO_TAG__P41
#define DEFIO_TAG_E__P42 DEFIO_TAG__P42
#define DEFIO_TAG_E__P43 DEFIO_TAG__P43
#define DEFIO_TAG_E__P44 DEFIO_TAG__P44
#define DEFIO_TAG_E__P45 DEFIO_TAG__P45
#define DEFIO_TAG_E__P46 DEFIO_TAG__P46
#define DEFIO_TAG_E__P47 DEFIO_TAG__P47
#else
#define DEFIO_TAG_E__PA30 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA31 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA32 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA33 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA34 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA35 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA36 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA37 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA38 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA39 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA40 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA41 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA42 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA43 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA44 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA45 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA46 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__PA47 DEFIO_TAG_A__NONE
#define DEFIO_TAG_E__P30 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P31 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P32 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P33 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P34 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P35 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P36 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P37 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P38 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P39 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P40 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P41 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P42 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P43 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P44 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P45 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P46 DEFIO_TAG__NONE
#define DEFIO_TAG_E__P47 DEFIO_TAG__NONE
#endif
#define DEFIO_REC__PA0 DEFIO_REC_INDEXED(0)
#define DEFIO_REC__PA1 DEFIO_REC_INDEXED(1)
#define DEFIO_REC__PA2 DEFIO_REC_INDEXED(2)
#define DEFIO_REC__PA3 DEFIO_REC_INDEXED(3)
#define DEFIO_REC__PA4 DEFIO_REC_INDEXED(4)
#define DEFIO_REC__PA5 DEFIO_REC_INDEXED(5)
#define DEFIO_REC__PA6 DEFIO_REC_INDEXED(6)
#define DEFIO_REC__PA7 DEFIO_REC_INDEXED(7)
#define DEFIO_REC__PA8 DEFIO_REC_INDEXED(8)
#define DEFIO_REC__PA9 DEFIO_REC_INDEXED(9)
#define DEFIO_REC__PA10 DEFIO_REC_INDEXED(10)
#define DEFIO_REC__PA11 DEFIO_REC_INDEXED(11)
#define DEFIO_REC__PA12 DEFIO_REC_INDEXED(12)
#define DEFIO_REC__PA13 DEFIO_REC_INDEXED(13)
#define DEFIO_REC__PA14 DEFIO_REC_INDEXED(14)
#define DEFIO_REC__PA15 DEFIO_REC_INDEXED(15)
#define DEFIO_REC__PA16 DEFIO_REC_INDEXED(16)
#define DEFIO_REC__PA17 DEFIO_REC_INDEXED(17)
#define DEFIO_REC__PA18 DEFIO_REC_INDEXED(18)
#define DEFIO_REC__PA19 DEFIO_REC_INDEXED(19)
#define DEFIO_REC__PA20 DEFIO_REC_INDEXED(20)
#define DEFIO_REC__PA21 DEFIO_REC_INDEXED(21)
#define DEFIO_REC__PA22 DEFIO_REC_INDEXED(22)
#define DEFIO_REC__PA23 DEFIO_REC_INDEXED(23)
#define DEFIO_REC__PA24 DEFIO_REC_INDEXED(24)
#define DEFIO_REC__PA25 DEFIO_REC_INDEXED(25)
#define DEFIO_REC__PA26 DEFIO_REC_INDEXED(26)
#define DEFIO_REC__PA27 DEFIO_REC_INDEXED(27)
#define DEFIO_REC__PA28 DEFIO_REC_INDEXED(28)
#define DEFIO_REC__PA29 DEFIO_REC_INDEXED(29)
#define DEFIO_REC__P0 DEFIO_REC_INDEXED(0)
#define DEFIO_REC__P1 DEFIO_REC_INDEXED(1)
#define DEFIO_REC__P2 DEFIO_REC_INDEXED(2)
#define DEFIO_REC__P3 DEFIO_REC_INDEXED(3)
#define DEFIO_REC__P4 DEFIO_REC_INDEXED(4)
#define DEFIO_REC__P5 DEFIO_REC_INDEXED(5)
#define DEFIO_REC__P6 DEFIO_REC_INDEXED(6)
#define DEFIO_REC__P7 DEFIO_REC_INDEXED(7)
#define DEFIO_REC__P8 DEFIO_REC_INDEXED(8)
#define DEFIO_REC__P9 DEFIO_REC_INDEXED(9)
#define DEFIO_REC__P10 DEFIO_REC_INDEXED(10)
#define DEFIO_REC__P11 DEFIO_REC_INDEXED(11)
#define DEFIO_REC__P12 DEFIO_REC_INDEXED(12)
#define DEFIO_REC__P13 DEFIO_REC_INDEXED(13)
#define DEFIO_REC__P14 DEFIO_REC_INDEXED(14)
#define DEFIO_REC__P15 DEFIO_REC_INDEXED(15)
#define DEFIO_REC__P16 DEFIO_REC_INDEXED(16)
#define DEFIO_REC__P17 DEFIO_REC_INDEXED(17)
#define DEFIO_REC__P18 DEFIO_REC_INDEXED(18)
#define DEFIO_REC__P19 DEFIO_REC_INDEXED(19)
#define DEFIO_REC__P20 DEFIO_REC_INDEXED(20)
#define DEFIO_REC__P21 DEFIO_REC_INDEXED(21)
#define DEFIO_REC__P22 DEFIO_REC_INDEXED(22)
#define DEFIO_REC__P23 DEFIO_REC_INDEXED(23)
#define DEFIO_REC__P24 DEFIO_REC_INDEXED(24)
#define DEFIO_REC__P25 DEFIO_REC_INDEXED(25)
#define DEFIO_REC__P26 DEFIO_REC_INDEXED(26)
#define DEFIO_REC__P27 DEFIO_REC_INDEXED(27)
#define DEFIO_REC__P28 DEFIO_REC_INDEXED(28)
#define DEFIO_REC__P29 DEFIO_REC_INDEXED(29)
#if defined(RP2350B)
#define DEFIO_REC__PA30 DEFIO_REC_INDEXED(30)
#define DEFIO_REC__PA31 DEFIO_REC_INDEXED(31)
#define DEFIO_REC__PA32 DEFIO_REC_INDEXED(32)
#define DEFIO_REC__PA33 DEFIO_REC_INDEXED(33)
#define DEFIO_REC__PA34 DEFIO_REC_INDEXED(34)
#define DEFIO_REC__PA35 DEFIO_REC_INDEXED(35)
#define DEFIO_REC__PA36 DEFIO_REC_INDEXED(36)
#define DEFIO_REC__PA37 DEFIO_REC_INDEXED(37)
#define DEFIO_REC__PA38 DEFIO_REC_INDEXED(38)
#define DEFIO_REC__PA39 DEFIO_REC_INDEXED(39)
#define DEFIO_REC__PA40 DEFIO_REC_INDEXED(40)
#define DEFIO_REC__PA41 DEFIO_REC_INDEXED(41)
#define DEFIO_REC__PA42 DEFIO_REC_INDEXED(42)
#define DEFIO_REC__PA43 DEFIO_REC_INDEXED(43)
#define DEFIO_REC__PA44 DEFIO_REC_INDEXED(44)
#define DEFIO_REC__PA45 DEFIO_REC_INDEXED(45)
#define DEFIO_REC__PA46 DEFIO_REC_INDEXED(46)
#define DEFIO_REC__PA47 DEFIO_REC_INDEXED(47)
#define DEFIO_REC__P30 DEFIO_REC_INDEXED(30)
#define DEFIO_REC__P31 DEFIO_REC_INDEXED(31)
#define DEFIO_REC__P32 DEFIO_REC_INDEXED(32)
#define DEFIO_REC__P33 DEFIO_REC_INDEXED(33)
#define DEFIO_REC__P34 DEFIO_REC_INDEXED(34)
#define DEFIO_REC__P35 DEFIO_REC_INDEXED(35)
#define DEFIO_REC__P36 DEFIO_REC_INDEXED(36)
#define DEFIO_REC__P37 DEFIO_REC_INDEXED(37)
#define DEFIO_REC__P38 DEFIO_REC_INDEXED(38)
#define DEFIO_REC__P39 DEFIO_REC_INDEXED(39)
#define DEFIO_REC__P40 DEFIO_REC_INDEXED(40)
#define DEFIO_REC__P41 DEFIO_REC_INDEXED(41)
#define DEFIO_REC__P42 DEFIO_REC_INDEXED(42)
#define DEFIO_REC__P43 DEFIO_REC_INDEXED(43)
#define DEFIO_REC__P44 DEFIO_REC_INDEXED(44)
#define DEFIO_REC__P45 DEFIO_REC_INDEXED(45)
#define DEFIO_REC__P46 DEFIO_REC_INDEXED(46)
#define DEFIO_REC__P47 DEFIO_REC_INDEXED(47)
#endif
// DEFIO_IO_USED_COUNT is number of io pins supported on target
@ -226,6 +225,6 @@
// DEFIO_PORT_OFFSET_LIST - comma separated list of port offsets (count of pins before this port)
// unused ports on end of list are skipped
#define DEFIO_PORT_USED_COUNT 1
#define DEFIO_PORT_USED_LIST DEFIO_PORT_A_USED_MASK
#define DEFIO_PORT_OFFSET_LIST DEFIO_PORT_A_OFFSET
#define DEFIO_PIN_USED_COUNT DEFIO_PORT_A_USED_COUNT
#define DEFIO_PORT_USED_LIST
#define DEFIO_PORT_OFFSET_LIST 0
#define DEFIO_PIN_USED_COUNT DEFIO_USED_COUNT

View file

@ -43,12 +43,12 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
.identifier = SERIAL_PORT_UART0,
.reg = uart0,
.rxPins = {
{ DEFIO_TAG_E(PA1) },
{ DEFIO_TAG_E(PA17) },
{ DEFIO_TAG_E(P1) },
{ DEFIO_TAG_E(P17) },
},
.txPins = {
{ DEFIO_TAG_E(PA0) },
{ DEFIO_TAG_E(PA16) },
{ DEFIO_TAG_E(P0) },
{ DEFIO_TAG_E(P16) },
},
.irqn = UART0_IRQ,
.txBuffer = uart0TxBuffer,
@ -63,14 +63,14 @@ const uartHardware_t uartHardware[UARTDEV_COUNT] = {
.identifier = SERIAL_PORT_UART1,
.reg = uart1,
.rxPins = {
{ DEFIO_TAG_E(PA5) },
{ DEFIO_TAG_E(PA9) },
{ DEFIO_TAG_E(PA25) },
{ DEFIO_TAG_E(P5) },
{ DEFIO_TAG_E(P9) },
{ DEFIO_TAG_E(P25) },
},
.txPins = {
{ DEFIO_TAG_E(PA4) },
{ DEFIO_TAG_E(PA20) },
{ DEFIO_TAG_E(PA24) },
{ DEFIO_TAG_E(P4) },
{ DEFIO_TAG_E(P20) },
{ DEFIO_TAG_E(P24) },
},
.irqn = UART1_IRQ,
.txBuffer = uart1TxBuffer,

View file

@ -122,22 +122,22 @@
#define FLASH_CONFIG_BUFFER_ALIGN_TYPE uint32_t
/* to be moved to a config file once target if working */
#define LED0_PIN PA6
#define LED1_PIN PA7
#define LED0_PIN P6
#define LED1_PIN P7
#define SPI0_SCK_PIN PA5
#define SPI0_SDI_PIN PA6
#define SPI0_SDO_PIN PA7
#define SPI0_SCK_PIN P5
#define SPI0_SDI_PIN P6
#define SPI0_SDO_PIN P7
#define SPI1_SCK_PIN PA26
#define SPI1_SDI_PIN PA24
#define SPI1_SDO_PIN PA27
#define SPI1_SCK_PIN P26
#define SPI1_SDI_PIN P24
#define SPI1_SDO_PIN P27
#define SDCARD_CS_PIN PA25
#define FLASH_CS_PIN PA25
#define MAX7456_SPI_CS_PIN PA17
#define SDCARD_CS_PIN P25
#define FLASH_CS_PIN P25
#define MAX7456_SPI_CS_PIN P17
#define GYRO_1_CS_PIN PA1
#define GYRO_1_CS_PIN P1
#define GYRO_2_CS_PIN NONE
#define MAX7456_SPI_INSTANCE SPI1
@ -152,6 +152,9 @@
//#define USE_FLASH_W25Q128FV
//#define USE_MAX7456
#define DEFIO_PIN_BITMASK 0x7f
#define DEFIO_PORT_BITSHIFT 7
/*
SPI0_CS P1