1
0
mirror of https://github.com/halleysfifthinc/Toyota-AVC-LAN synced 2025-06-07 16:06:12 +00:00

Rename HU/CD_ID and change to defines (never need to change at runtime)

This commit is contained in:
Allen Hill 2023-10-28 14:36:02 -04:00
parent 326d4ced99
commit 5b97eff725
3 changed files with 22 additions and 18 deletions

View File

@ -131,8 +131,6 @@
#define TCB_CNTMODE TCB_CNTMODE_PW_gc #define TCB_CNTMODE TCB_CNTMODE_PW_gc
#endif #endif
uint16_t CD_ID;
uint16_t HU_ID;
uint8_t printAllFrames; uint8_t printAllFrames;
uint8_t verbose; uint8_t verbose;
@ -623,7 +621,8 @@ uint8_t AVCLAN_readframe() {
return 0; return 0;
} }
uint8_t shouldACK = !AVCLAN_ismuted() && (frame.peripheral_addr == CD_ID); uint8_t shouldACK =
!AVCLAN_ismuted() && (frame.peripheral_addr == DEVICE_ADDR);
if (shouldACK) if (shouldACK)
AVCLAN_sendbit_ACK(); AVCLAN_sendbit_ACK();

View File

@ -38,14 +38,10 @@
sbi(RTC.PITINTCTRL, RTC_PI_bp); \ sbi(RTC.PITINTCTRL, RTC_PI_bp); \
sbi(USART0.CTRLA, USART_RXCIE_bp); sbi(USART0.CTRLA, USART_RXCIE_bp);
#define CHECK_AVC_LINE \
if (!BUS_IS_IDLE) \
AVCLAN_readframe();
#define MAXMSGLEN 32 #define MAXMSGLEN 32
extern uint16_t CD_ID; // CD Changer ID #define DEVICE_ADDR 0x360 // CD Changer address
extern uint16_t HU_ID; // Head-unit ID #define HU_ADDR 0x190 // Head-unit address
extern uint8_t printAllFrames; extern uint8_t printAllFrames;
extern uint8_t verbose; extern uint8_t verbose;

View File

@ -50,7 +50,7 @@ int main() {
uint8_t data_tmp[MAXMSGLEN]; uint8_t data_tmp[MAXMSGLEN];
AVCLAN_frame_t msg = { AVCLAN_frame_t msg = {
.broadcast = UNICAST, .broadcast = UNICAST,
.controller_addr = CD_ID, .controller_addr = DEVICE_ADDR,
.control = 0xF, .control = 0xF,
.data = data_tmp, .data = data_tmp,
}; };
@ -120,7 +120,7 @@ int main() {
msg.peripheral_addr = 0x1FF; msg.peripheral_addr = 0x1FF;
msg.length = s_len; msg.length = s_len;
AVCLAN_sendframe(&msg); AVCLAN_sendframe(&msg);
msg.peripheral_addr = HU_ID; msg.peripheral_addr = HU_ADDR;
break; break;
case 'l': // Print received messages case 'l': // Print received messages
printAllFrames ^= 1; printAllFrames ^= 1;
@ -143,8 +143,16 @@ int main() {
break; break;
case 'b': case 'b':
case 'B': // Beep case 'B': // Beep
// answerReq = cm_Beep; data_tmp[0] = 0x00;
AVCLAN_respond(); data_tmp[1] = 0x63;
data_tmp[2] = 0x29;
data_tmp[3] = 0x60;
data_tmp[4] = 0x01;
msg.length = 5;
msg.broadcast = UNICAST;
msg.controller_addr = DEVICE_ADDR;
msg.peripheral_addr = HU_ADDR;
AVCLAN_sendframe(&msg);
break; break;
case 'e': case 'e':
data_tmp[0] = 0x00; data_tmp[0] = 0x00;
@ -154,8 +162,8 @@ int main() {
data_tmp[4] = 0x63; data_tmp[4] = 0x63;
msg.length = 5; msg.length = 5;
msg.broadcast = UNICAST; msg.broadcast = UNICAST;
msg.controller_addr = CD_ID; msg.controller_addr = DEVICE_ADDR;
msg.peripheral_addr = HU_ID; msg.peripheral_addr = HU_ADDR;
AVCLAN_sendframe(&msg); AVCLAN_sendframe(&msg);
break; break;
@ -225,9 +233,6 @@ int main() {
} }
void Setup() { void Setup() {
CD_ID = 0x360;
HU_ID = 0x190;
printAllFrames = 1; printAllFrames = 1;
echoCharacters = 1; echoCharacters = 1;
readBinary = 0; readBinary = 0;
@ -257,6 +262,10 @@ void general_GPIO_init() {
PORTC.PIN2CTRL = PORT_PULLUPEN_bm | PORT_ISC_INPUT_DISABLE_gc; PORTC.PIN2CTRL = PORT_PULLUPEN_bm | PORT_ISC_INPUT_DISABLE_gc;
PORTB.PIN0CTRL = PORT_PULLUPEN_bm | PORT_ISC_INPUT_DISABLE_gc; PORTB.PIN0CTRL = PORT_PULLUPEN_bm | PORT_ISC_INPUT_DISABLE_gc;
// TODO: Remove once IGN_SENSE hardware is fixed
PORTB.DIRSET = PIN3_bm;
PORTB.OUTSET = PIN3_bm;
// Output only pins: PA3-5, PB1-2,4-5; PC0-1 // Output only pins: PA3-5, PB1-2,4-5; PC0-1
// TODO: TxD (PA1), RTS (PA3) is output only, test if RxD needs the input // TODO: TxD (PA1), RTS (PA3) is output only, test if RxD needs the input
// buffer or if the UART peripheral bypasses it // buffer or if the UART peripheral bypasses it