|
|
@@ -43,21 +43,6 @@ inline static void receivePacket(void){
|
|
|
nBus.hw_platform->uart_receive(nBus.rx_buffer, 64);
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
-inline static void receiveOneByte(){
|
|
|
- nBus.hw_platform->uart_abort_receive();
|
|
|
- nBus.hw_platform->uart_receive(nBus.rx_buffer, 1);
|
|
|
- nBus.uart_state = UART_RX_1B;
|
|
|
- nBus.rx_length = 1;
|
|
|
-}
|
|
|
-
|
|
|
-inline static void receiveNBytes(uint8_t n){
|
|
|
- nBus.rx_length = n;
|
|
|
- nBus.hw_platform->uart_receive(nBus.rx_buffer, nBus.rx_length);
|
|
|
- nBus.uart_state = UART_RX_PAYLOAD;
|
|
|
-}
|
|
|
-*/
|
|
|
-
|
|
|
inline static void send_response(){
|
|
|
if(nBus.send_response == SEND_RESPONSE) {
|
|
|
nBus.tx_buffer[0] -= 1; // prvý bajt sa nepočíta
|
|
|
@@ -167,40 +152,11 @@ static void process_request(){
|
|
|
/* ----------------------- CALLBACKS----------------------- */
|
|
|
/* -------------------------------------------------------- */
|
|
|
|
|
|
-void nbus_cb_UART_RX(uint8_t *uartData, int size){
|
|
|
- /*
|
|
|
- if(nBus.uart_state == UART_RX_PAYLOAD) {
|
|
|
- nBus.uart_state = UART_RECEIVED;
|
|
|
- nBus.hw_platform->timer_uart_stop();
|
|
|
- }
|
|
|
-
|
|
|
- if(nBus.uart_state == UART_RX_1B) {
|
|
|
- nBus.hw_platform->led_on();
|
|
|
- if(nBus.rx_buffer[0] > 0) {
|
|
|
- receiveNBytes(nBus.rx_buffer[0]);
|
|
|
- nBus.hw_platform->timer_uart_stop();
|
|
|
- nBus.hw_platform->timer_uart_start(nBus.rx_buffer[0]);
|
|
|
- } else {
|
|
|
- receiveOneByte();
|
|
|
- }
|
|
|
- }
|
|
|
- */
|
|
|
-
|
|
|
- memcpy(nBus.rx_buffer, uartData, size);
|
|
|
+void nbus_cb_UART_RX(int size){
|
|
|
+ nBus.rx_length = size;
|
|
|
nBus.uart_state = UART_RX_RECEIVED;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
-void nbus_cb_TIM_periodElapsed(void) {
|
|
|
- if(nBus.uart_state == UART_RX_PAYLOAD) {
|
|
|
- nBus.hw_platform->led_off();
|
|
|
- nBus.hw_platform->timer_uart_stop();
|
|
|
- nBus.hw_platform->uart_abort_receive();
|
|
|
- receiveOneByte();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-*/
|
|
|
void nbus_blink_LED(uint8_t delay) {
|
|
|
nBus.hw_platform->led_on();
|
|
|
nBus.hw_platform->delay_ms(delay);
|
|
|
@@ -212,6 +168,7 @@ void nbus_blink_LED(uint8_t delay) {
|
|
|
nBus.hw_platform->delay_ms(delay);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/* -------------------------------------------------------- */
|
|
|
/* ------------------ PUBLIC FUNCTIONS-------------------- */
|
|
|
/* -------------------------------------------------------- */
|
|
|
@@ -223,13 +180,10 @@ void nbus_init(nBusAppInterface_t *interface, nBusPlatformInterface_t *hw){
|
|
|
nBus.data_timebase = 0;
|
|
|
nBus.measure_active = MEASURE_STOPPED;
|
|
|
|
|
|
- // init restart timer
|
|
|
nBus.uart_state = UART_RX_WAIT;
|
|
|
-// nBus.hw_platform->timer_uart_start(100); // dummy value
|
|
|
-// nBus.hw_platform->timer_uart_stop();
|
|
|
|
|
|
nBus.interface = interface;
|
|
|
-// receiveOneByte();
|
|
|
+
|
|
|
receivePacket();
|
|
|
|
|
|
}
|
|
|
@@ -254,9 +208,6 @@ void nbus_stack(void){
|
|
|
process_request();
|
|
|
nBus.uart_state = UART_RX_WAIT;
|
|
|
|
|
|
- // ready for next receiving
|
|
|
- //receiveOneByte();
|
|
|
-
|
|
|
send_response();
|
|
|
#if MODULE_MASTER == 1
|
|
|
receive_slave_response();
|