kopia lustrzana https://github.com/SP8EBC/ParaTNC
kiss communication. did: bugfix in lengh of response, get_version: bugfix in overwriting first byte of a response
rodzic
ee541a54dc
commit
b642c3c540
|
@ -5,7 +5,7 @@
|
|||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="842559031985696342" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="871033396245946614" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
|
@ -16,7 +16,7 @@
|
|||
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
|
||||
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="813754081161391399" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="854345066964168583" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true">
|
||||
<language-scope id="org.eclipse.cdt.core.gcc"/>
|
||||
<language-scope id="org.eclipse.cdt.core.g++"/>
|
||||
</provider>
|
||||
|
|
|
@ -8,6 +8,7 @@ C_SRCS += \
|
|||
../src/PathConfig.c \
|
||||
../src/TimerConfig.c \
|
||||
../src/_write.c \
|
||||
../src/backup_registers.c \
|
||||
../src/button_paratnc.c \
|
||||
../src/delay.c \
|
||||
../src/dummy.c \
|
||||
|
@ -21,6 +22,7 @@ C_SRCS += \
|
|||
../src/rte_rtu.c \
|
||||
../src/rte_wx.c \
|
||||
../src/software_version.c \
|
||||
../src/variant_parameteo.c \
|
||||
../src/wx_handler.c \
|
||||
../src/wx_handler_humidity.c \
|
||||
../src/wx_handler_pressure.c \
|
||||
|
@ -32,6 +34,7 @@ OBJS += \
|
|||
./src/PathConfig.o \
|
||||
./src/TimerConfig.o \
|
||||
./src/_write.o \
|
||||
./src/backup_registers.o \
|
||||
./src/button_paratnc.o \
|
||||
./src/delay.o \
|
||||
./src/dummy.o \
|
||||
|
@ -45,6 +48,7 @@ OBJS += \
|
|||
./src/rte_rtu.o \
|
||||
./src/rte_wx.o \
|
||||
./src/software_version.o \
|
||||
./src/variant_parameteo.o \
|
||||
./src/wx_handler.o \
|
||||
./src/wx_handler_humidity.o \
|
||||
./src/wx_handler_pressure.o \
|
||||
|
@ -56,6 +60,7 @@ C_DEPS += \
|
|||
./src/PathConfig.d \
|
||||
./src/TimerConfig.d \
|
||||
./src/_write.d \
|
||||
./src/backup_registers.d \
|
||||
./src/button_paratnc.d \
|
||||
./src/delay.d \
|
||||
./src/dummy.d \
|
||||
|
@ -69,6 +74,7 @@ C_DEPS += \
|
|||
./src/rte_rtu.d \
|
||||
./src/rte_wx.d \
|
||||
./src/software_version.d \
|
||||
./src/variant_parameteo.d \
|
||||
./src/wx_handler.d \
|
||||
./src/wx_handler_humidity.d \
|
||||
./src/wx_handler_pressure.d \
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
#ifndef SOFTWARE_VERSION_H_
|
||||
#define SOFTWARE_VERSION_H_
|
||||
|
||||
#define SW_VER "EB02"
|
||||
#define SW_DATE "31102023"
|
||||
#define SW_VER "EB03"
|
||||
#define SW_DATE "12112023"
|
||||
#define SW_KISS_PROTO "B"
|
||||
|
||||
extern const char software_version_str[5];
|
||||
|
|
|
@ -124,9 +124,9 @@ int32_t kiss_callback_get_version_id(uint8_t* input_frame_from_host, uint16_t in
|
|||
uint8_t config_payload_size = 0;
|
||||
|
||||
#ifdef PARAMETEO
|
||||
config_payload_size = snprintf((char *)response_buffer + 3, buffer_size, "METEO-%s-%s", SW_VER, SW_KISS_PROTO);
|
||||
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 + 3, buffer_size, "TNC-%s-%s", SW_VER, SW_KISS_PROTO);
|
||||
config_payload_size = snprintf((char *)response_buffer + 4, buffer_size, "TNC-%s-%s", SW_VER, SW_KISS_PROTO);
|
||||
#endif
|
||||
|
||||
// construct a response
|
||||
|
@ -229,6 +229,8 @@ int32_t kiss_callback_read_did(uint8_t* input_frame_from_host, uint16_t input_le
|
|||
|
||||
int32_t out = 0;
|
||||
|
||||
memset(response_buffer, 0x00, buffer_size);
|
||||
|
||||
// identifier
|
||||
uint16_t did = *(input_frame_from_host + 2) | (*(input_frame_from_host + 3) << 8);
|
||||
|
||||
|
|
|
@ -242,7 +242,7 @@ static int kiss_did_validate(kiss_did_numeric_definition_t * definition, uint8_t
|
|||
*/
|
||||
uint8_t kiss_did_response(uint16_t identifier, uint8_t * output_buffer, uint16_t buffer_ln) {
|
||||
|
||||
uint8_t out = 0xFF;
|
||||
uint8_t out = 0;
|
||||
|
||||
// iterator to go through DID definition
|
||||
int i = 0;
|
||||
|
@ -325,12 +325,19 @@ uint8_t kiss_did_response(uint16_t identifier, uint8_t * output_buffer, uint16_t
|
|||
// move after DID value and size_byte
|
||||
output_buffer += 3;
|
||||
|
||||
// room for size byte
|
||||
out++;
|
||||
|
||||
// and for DID value itself
|
||||
out += 2;
|
||||
|
||||
//append first data source
|
||||
memcpy(output_buffer, found.first_data, found.first_data_size);
|
||||
|
||||
//move forward a poiner to response buffer
|
||||
output_buffer += found.first_data_size;
|
||||
|
||||
// room for first value returned by DID
|
||||
out += found.first_data_size;
|
||||
|
||||
if (number_of_data_source > 1) {
|
||||
|
@ -353,12 +360,6 @@ uint8_t kiss_did_response(uint16_t identifier, uint8_t * output_buffer, uint16_t
|
|||
out += found.third_data_size;
|
||||
}
|
||||
|
||||
// also include size_byte in this calculation
|
||||
out++;
|
||||
|
||||
// include DID value itself
|
||||
out += 2;
|
||||
|
||||
}
|
||||
else if (found.identifier != 0xFFFFu && is_valid == 1 && is_float == 1) {
|
||||
|
||||
|
@ -376,6 +377,12 @@ uint8_t kiss_did_response(uint16_t identifier, uint8_t * output_buffer, uint16_t
|
|||
// move after DID value and size_byte
|
||||
output_buffer += 3;
|
||||
|
||||
// room for size byte stored in output buffer
|
||||
out++;
|
||||
|
||||
// room for DID number in output buffer
|
||||
out += 2;
|
||||
|
||||
//append first data source
|
||||
memcpy(output_buffer, found.first_data, sizeof(float));
|
||||
|
||||
|
@ -404,12 +411,6 @@ uint8_t kiss_did_response(uint16_t identifier, uint8_t * output_buffer, uint16_t
|
|||
out += sizeof(float);
|
||||
}
|
||||
|
||||
// also include size_byte in this calculation
|
||||
out++;
|
||||
|
||||
// include DID value itself
|
||||
out += 2;
|
||||
|
||||
}
|
||||
else if (found.identifier != 0xFFFFu && is_string == 1) {
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue