rusefillc 2022-06-26 20:57:57 -04:00
parent 3433a0cf17
commit 635f5f4375
1 changed files with 10 additions and 3 deletions

View File

@ -3,20 +3,24 @@
#include "digital_inputs.h"
#include "chprintf.h"
io_pin addrPins[] = {
#define XOR_MAGIC 1
static io_pin addrPins[] = {
{GPIOC, 8}, // ADR0
{GPIOC, 6},
{GPIOC, 5},
{GPIOA, 6},
};
io_pin scenarioPins[] = {
static io_pin scenarioPins[] = {
{GPIOB, 12}, // OUT0
{GPIOB, 11},
{GPIOC, 7},
{GPIOC, 4},
};
static io_pin muxOff = {GPIOA, 7};
extern BaseSequentialStream *chp;
void initDigitalInputs() {
@ -29,12 +33,15 @@ void initDigitalInputs() {
io_pin *pin = &scenarioPins[i];
palSetPadMode(pin->port, pin->pin, PAL_MODE_OUTPUT_PUSHPULL);
}
palSetPadMode(muxOff.port, muxOff.pin, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(muxOff.port, muxOff.pin, 0 ^ XOR_MAGIC);
}
void setOutputAddrIndex(int index) {
int param = index;
for (size_t i = 0;i<efi::size(addrPins);i++) {
int bitState = index & 1;
int bitState = (index & 1) ^ XOR_MAGIC;
index = index / 2;
io_pin *pin = &addrPins[i];
chprintf(chp, "output %d: bit=%d %d\n", param, i, bitState);