temporarily implement light gate input latching
This commit is contained in:
		@ -136,6 +136,10 @@ static can_pkt_t CAN_SIGNAL_MAP[NUM_TX_PKT] = {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static uint8_t DIO_LATCHING[NUM_DIO_PINS] = {
 | 
			
		||||
    1, 1, 0, 0, 0, 0,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define CAN_PWM_DC_ID 0x0DA // UNUSED
 | 
			
		||||
#define CAN_PWM_CONF_ID 0x0DB // UNUSED
 | 
			
		||||
#define CAN_PWM_BASE_ID CAN_PWM_DC_ID
 | 
			
		||||
@ -183,6 +187,10 @@ static can_pkt_t CAN_SIGNAL_MAP[NUM_TX_PKT] = {
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static uint8_t DIO_LATCHING[NUM_DIO_PINS] = {
 | 
			
		||||
    0, 0, 0, 0, 0, 0,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define CAN_PWM_DC_ID 0x0DC
 | 
			
		||||
#define CAN_PWM_CONF_ID 0x0DD
 | 
			
		||||
#define CAN_PWM_BASE_ID CAN_PWM_DC_ID
 | 
			
		||||
 | 
			
		||||
@ -90,10 +90,16 @@ void loop_1kHz() {
 | 
			
		||||
  mscounter++;
 | 
			
		||||
 | 
			
		||||
  for (int di = 0; di < NUM_DIO_PINS; di++) {
 | 
			
		||||
    dio_values[di] = HAL_GPIO_ReadPin(
 | 
			
		||||
    uint8_t value = HAL_GPIO_ReadPin(
 | 
			
		||||
      DIO_PIN_MAP[di].port,
 | 
			
		||||
      DIO_PIN_MAP[di].pin
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    if (DIO_LATCHING[di]) {
 | 
			
		||||
      dio_values[di] |= value;
 | 
			
		||||
    } else {
 | 
			
		||||
      dio_values[di] = value;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  for (int pi = 0; pi < NUM_TX_PKT; pi++) {
 | 
			
		||||
@ -116,6 +122,7 @@ void loop_1kHz() {
 | 
			
		||||
        switch (signal->type) {
 | 
			
		||||
          case DIN:
 | 
			
		||||
            value = dio_values[signal->channel];
 | 
			
		||||
            dio_values[signal->channel] = 0;  // will be overwritten with real value at start of 1kHz loop
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
          case AIN:
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user