Rickta59: hmm, looks like I'm at a crossroads now where I have to implement a gpio templated system like your fabooh lpc stuff...
each gpio port has a distinct struct st_portX type, so I can't just cast them or something
guess I have to produce an enum of port specifiers and have my GPIO.h resolve them into the correct struct and cast that as an st_port0 or something... so it can access PDR/PODR/etc
luckily they all basically work the same with respect to memory offsets for PDR, PODR, PIDR
i.e. those are the first 3 SFRs in all port implementations