Rev 1453 | Rev 1459 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1453 | Rev 1454 | ||
|---|---|---|---|
| Line 39... | Line 39... | ||
| 39 | eeprom_write_byte_crc(EEDATA.x, 0xAB, WITHOUT_CRC); |
39 | eeprom_write_byte_crc(EEDATA.x, 0xAB, WITHOUT_CRC); |
| 40 | eeprom_write_word_crc(EEDATA16.y, 0x1234, WITHOUT_CRC); |
40 | eeprom_write_word_crc(EEDATA16.y, 0x1234, WITHOUT_CRC); |
| 41 | EEDATA_UPDATE_CRC; |
41 | EEDATA_UPDATE_CRC; |
| 42 | } |
42 | } |
| 43 | #endif |
43 | #endif |
| 44 | // |
44 | // default baudrate |
| 45 | uart_init(UART_BAUD_SELECT(baudRate, F_CPU)); |
45 | uart_init(UART_BAUD_SELECT(baudRate, F_CPU)); |
| - | 46 | // configure control pins |
|
| 46 | gpio_set_out(sns_Serial_RXEN); |
47 | gpio_set_out(sns_Serial_RXEN); |
| 47 | gpio_set_out(sns_Serial_TXEN); |
48 | gpio_set_out(sns_Serial_TXEN); |
| 48 |
|
49 | gpio_set_out(sns_Serial_ON); |
| - | 50 | gpio_set_out(sns_Serial_485_232); |
|
| - | 51 | //default to loopback mode until config command received |
|
| 49 |
|
52 | gpio_clr_pin(sns_Serial_ON); |
| - | 53 | gpio_clr_pin(sns_Serial_485_232); |
|
| 50 | 54 | ||
| 51 | // to use PCINt lib, call this function: (the callback function look as a timer callback function) |
55 | // to use PCINt lib, call this function: (the callback function look as a timer callback function) |
| 52 | // Pcint_SetCallbackPin(sns_Serial_PCINT, EXP_C , &sns_Serial_pcint_callback); |
56 | // Pcint_SetCallbackPin(sns_Serial_PCINT, EXP_C , &sns_Serial_pcint_callback); |
| 53 | 57 | ||
| 54 | } |
58 | } |
| Line 110... | Line 114... | ||
| 110 | break; |
114 | break; |
| 111 | case CAN_MODULE_CMD_SERIAL_SERIALCONFIG: |
115 | case CAN_MODULE_CMD_SERIAL_SERIALCONFIG: |
| 112 | baudRate = ((uint16_t)rxMsg->Data[0] << 0) | ((uint16_t)rxMsg->Data[1] << 8); |
116 | baudRate = ((uint16_t)rxMsg->Data[0] << 0) | ((uint16_t)rxMsg->Data[1] << 8); |
| 113 | format = (snsSerialPhyFormat_t)rxMsg->Data[2]; |
117 | format = (snsSerialPhyFormat_t)rxMsg->Data[2]; |
| 114 | uart_init(UART_BAUD_SELECT(baudRate, F_CPU)); |
118 | uart_init(UART_BAUD_SELECT(baudRate, F_CPU)); |
| - | 119 | if (format == CAN_MODULE_ENUM_SERIAL_SERIALCONFIG_PHYSICALFORMAT_RS232) |
|
| - | 120 | { |
|
| - | 121 | gpio_clr_pin(sns_Serial_485_CONNECT); // disable RS485_CONNECT |
|
| - | 122 | gpio_clr_pin(sns_Serial_TERM_EN); // disable termination |
|
| - | 123 | gpio_clr_pin(sns_Serial_485_232); // RS232 mode |
|
| - | 124 | gpio_set_pin(sns_Serial_RXEN); // enable RX |
|
| - | 125 | gpio_set_pin(sns_Serial_TXEN); // enable TX |
|
| - | 126 | gpio_set_pin(sns_Serial_ON); // enable charge pump |
|
| - | 127 | } |
|
| - | 128 | else if (format == CAN_MODULE_ENUM_SERIAL_SERIALCONFIG_PHYSICALFORMAT_RS485FULLDUPLEX) |
|
| - | 129 | { |
|
| - | 130 | gpio_clr_pin(sns_Serial_485_CONNECT); // disable RS485_CONNECT |
|
| - | 131 | gpio_clr_pin(sns_Serial_TERM_EN); // disable termination |
|
| - | 132 | gpio_set_pin(sns_Serial_485_232); // RS485 mode |
|
| - | 133 | gpio_set_pin(sns_Serial_RXEN); // enable RX |
|
| - | 134 | gpio_set_pin(sns_Serial_TXEN); // enable TX |
|
| - | 135 | gpio_set_pin(sns_Serial_ON); // enable charge pump |
|
| - | 136 | } |
|
| - | 137 | else if (format == CAN_MODULE_ENUM_SERIAL_SERIALCONFIG_PHYSICALFORMAT_RS485HALFDUPLEX) |
|
| - | 138 | { |
|
| - | 139 | gpio_set_pin(sns_Serial_485_CONNECT); // enable RS485_CONNECT |
|
| - | 140 | gpio_clr_pin(sns_Serial_TERM_EN); // disable termination |
|
| - | 141 | gpio_set_pin(sns_Serial_485_232); // RS485 mode |
|
| - | 142 | gpio_set_pin(sns_Serial_RXEN); // enable RX |
|
| - | 143 | gpio_clr_pin(sns_Serial_TXEN); // disable TX |
|
| - | 144 | gpio_set_pin(sns_Serial_ON); // enable charge pump |
|
| - | 145 | } |
|
| - | 146 | else if (format == CAN_MODULE_ENUM_SERIAL_SERIALCONFIG_PHYSICALFORMAT_RS485HALFDUPLEXWITHTERMINATION) |
|
| - | 147 | { |
|
| - | 148 | gpio_set_pin(sns_Serial_485_CONNECT); // enable RS485_CONNECT |
|
| - | 149 | gpio_set_pin(sns_Serial_TERM_EN); // enable termination |
|
| - | 150 | gpio_set_pin(sns_Serial_485_232); // RS485 mode |
|
| - | 151 | gpio_set_pin(sns_Serial_RXEN); // enable RX |
|
| - | 152 | gpio_clr_pin(sns_Serial_TXEN); // disable TX |
|
| - | 153 | gpio_set_pin(sns_Serial_ON); // enable charge pump |
|
| - | 154 | } |
|
| - | 155 | else if (format == CAN_MODULE_ENUM_SERIAL_SERIALCONFIG_PHYSICALFORMAT_LOOPBACK) |
|
| - | 156 | { |
|
| - | 157 | gpio_clr_pin(sns_Serial_485_CONNECT); // disable RS485_CONNECT |
|
| - | 158 | gpio_clr_pin(sns_Serial_TERM_EN); // disable termination |
|
| - | 159 | gpio_set_pin(sns_Serial_485_232); // RS232 mode |
|
| - | 160 | gpio_set_pin(sns_Serial_RXEN); // enable RX |
|
| - | 161 | gpio_set_pin(sns_Serial_TXEN); // enable TX |
|
| - | 162 | gpio_clr_pin(sns_Serial_ON); // disable charge pump (i.e. enable loopback) |
|
| - | 163 | } |
|
| - | 164 | else |
|
| - | 165 | { |
|
| - | 166 | //invalid format |
|
| - | 167 | } |
|
| 115 | break; |
168 | break; |
| 116 | } |
169 | } |
| 117 | } |
170 | } |
| 118 | } |
171 | } |
| 119 | 172 | ||