kiss protocol, retuning version and protocol version

tatry_variant
Mateusz Lubecki 2022-09-04 17:23:56 +02:00
rodzic b951503f47
commit abb329d798
6 zmienionych plików z 33 dodań i 3 usunięć

Wyświetl plik

@ -8,4 +8,6 @@
int32_t kiss_callback_get_running_config(uint8_t* input_frame_from_host, uint16_t input_len, uint8_t* response_buffer, uint16_t buffer_size);
int16_t kiss_pool_callback_get_running_config(uint8_t * output_buffer, uint16_t buffer_size );
int32_t kiss_callback_get_version_id(uint8_t* input_frame_from_host, uint16_t input_len, uint8_t* response_buffer, uint16_t buffer_size);
#endif

Wyświetl plik

@ -26,8 +26,8 @@
#define KISS_DATA (uint8_t) 0x00
#define KISS_GET_RUNNING_CONFIG (uint8_t) 0x20
#define KISS_RUNNING_CONFIG (uint8_t) 0x70
#define KISS_GET_VERSION (uint8_t) 0x15
#define KISS_GET_VERSION_AND_ID (uint8_t) 0x21
#define KISS_VERSION_AND_ID (uint8_t) 0x71
#define KISS_RETURN_IDLE 1

Wyświetl plik

@ -9,6 +9,7 @@
#define SW_VER "EA16"
#define SW_DATE "20082022"
#define SW_KISS_PROTO "A"
#define SYSTICK_TICKS_PER_SECONDS 100
#define SYSTICK_TICKS_PERIOD 10

Wyświetl plik

@ -7,8 +7,10 @@
#include "kiss_communication.h"
#include "configuration_handler.h"
#include "main.h"
#include <string.h>
#include <stdio.h>
#define KISS_MAX_CONFIG_PAYLOAD_SIZE 0x80
#define KISS_LAST_ASYNC_MSG 0xFF
@ -107,3 +109,24 @@ int16_t kiss_pool_callback_get_running_config(uint8_t * output_buffer, uint16_t
return config_payload_size + 6;
}
int32_t kiss_callback_get_version_id(uint8_t* input_frame_from_host, uint16_t input_len, uint8_t* response_buffer, uint16_t buffer_size) {
uint8_t config_payload_size = 0;
#ifdef Par
config_payload_size = snprintf((char *)response_buffer + 4, buffer_size, "METEO-%s-%s", SW_VER, SW_KISS_PROTO);
#else
config_payload_size = snprintf((char *)response_buffer + 4, buffer_size, "TNC-%s-%s", SW_VER, SW_KISS_PROTO);
#endif
// construct a response
response_buffer[0] = FEND;
response_buffer[1] = config_payload_size + 4; // message lenght
response_buffer[2] = KISS_VERSION_AND_ID;
// string here
response_buffer[config_payload_size + 4] = FEND;
return config_payload_size + 5;
}

Wyświetl plik

@ -167,6 +167,10 @@ int32_t kiss_parse_received(uint8_t* input_frame_from_host, uint16_t input_len,
output = kiss_callback_get_running_config(input_frame_from_host, input_len, response_buffer, resp_buf_ln);
} break;
case KISS_GET_VERSION_AND_ID:
output = kiss_callback_get_version_id(input_frame_from_host, input_len, response_buffer, resp_buf_ln);
break;
default: output = -3;
}

Wyświetl plik

@ -232,7 +232,7 @@ char main_own_aprs_msg[OWN_APRS_MSG_LN];
char main_string_latitude[9];
char main_string_longitude[9];
#define MAIN_SMALL_BUFFER_LN 8
#define MAIN_SMALL_BUFFER_LN 20
uint8_t main_small_buffer[MAIN_SMALL_BUFFER_LN];
char main_symbol_f = '/';