From 59ee1a0c21f212fab55517f397be1f47ba721dfe Mon Sep 17 00:00:00 2001 From: Dominik Loidolt <dominik.loidolt@univie.ac.at> Date: Wed, 8 Jun 2022 15:34:32 +0200 Subject: [PATCH] Incorporate the update from the ICU integration --- include/cmp_data_types.h | 9 +++- include/cmp_entity.h | 10 +++-- include/cmp_guess.h | 3 +- include/cmp_icu.h | 2 +- include/cmp_io.h | 4 +- include/cmp_rdcu.h | 2 +- include/cmp_rdcu_extended.h | 2 +- include/cmp_support.h | 2 +- include/decmp.h | 8 +--- include/rdcu_ctrl.h | 9 ++-- include/rdcu_pkt_to_file.h | 2 +- include/rmap.h | 9 ++-- lib/cmp_data_types.c | 6 +-- lib/cmp_entity.c | 10 ++--- lib/cmp_guess.c | 1 + lib/cmp_icu.c | 14 ++++--- lib/cmp_io.c | 13 +++--- lib/cmp_rdcu.c | 24 ++++++----- lib/cmp_support.c | 10 +++-- lib/rdcu_ctrl.c | 83 ++++++++++++++++++++++++++++++------- lib/rdcu_pkt_to_file.c | 12 +++--- lib/rdcu_rmap.c | 34 ++++++--------- lib/rmap.c | 13 +++--- 23 files changed, 168 insertions(+), 114 deletions(-) diff --git a/include/cmp_data_types.h b/include/cmp_data_types.h index 02bb840..9c8a470 100644 --- a/include/cmp_data_types.h +++ b/include/cmp_data_types.h @@ -36,8 +36,8 @@ #include <stdint.h> -#include "compiler.h" -#include "cmp_support.h" +#include <compiler.h> +#include <cmp_support.h> #define MAX_USED_NC_IMAGETTE_BITS 16 #define MAX_USED_SATURATED_IMAGETTE_BITS 16 /* TBC */ @@ -135,6 +135,7 @@ extern struct cmp_max_used_bits max_used_bits; #define MULTI_ENTRY_HDR_SIZE 12 compile_time_assert(MULTI_ENTRY_HDR_SIZE % sizeof(uint32_t) == 0, N_DPU_ICU_MULTI_ENTRY_HDR_NOT_4_BYTE_ALLIED); +__extension__ struct multi_entry_hdr { uint32_t timestamp_coarse; uint16_t timestamp_fine; @@ -206,6 +207,7 @@ struct f_fx_efx_ncob_ecob { } __attribute__((packed)); +__extension__ struct l_fx { uint32_t exp_flags:24; /* selected exposure flags (24 flags) */ uint32_t fx; @@ -213,6 +215,7 @@ struct l_fx { } __attribute__((packed)); +__extension__ struct l_fx_efx { uint32_t exp_flags:24; /* selected exposure flags (24 flags) */ uint32_t fx; @@ -221,6 +224,7 @@ struct l_fx_efx { } __attribute__((packed)); +__extension__ struct l_fx_ncob { uint32_t exp_flags:24; /* selected exposure flags (24 flags) */ uint32_t fx; @@ -232,6 +236,7 @@ struct l_fx_ncob { } __attribute__((packed)); +__extension__ struct l_fx_efx_ncob_ecob { uint32_t exp_flags:24; /* selected exposure flags (24 flags) */ uint32_t fx; diff --git a/include/cmp_entity.h b/include/cmp_entity.h index a06715f..0c9a606 100644 --- a/include/cmp_entity.h +++ b/include/cmp_entity.h @@ -29,8 +29,8 @@ #include <stdint.h> -#include "compiler.h" -#include "cmp_support.h" +#include <compiler.h> +#include <cmp_support.h> #define GENERIC_HEADER_SIZE 32 @@ -285,11 +285,13 @@ ssize_t cmp_ent_get_cmp_data(struct cmp_entity *ent, uint32_t *data_buf, uint32_t cmp_ent_cal_hdr_size(enum cmp_data_type data_type, int raw_mode); -#if __has_include(<time.h>) -#include <time.h> +#if defined __has_include +# if __has_include(<time.h>) +# include <time.h> /* create a timestamp for the compression header */ extern const struct tm EPOCH_DATE; uint64_t cmp_ent_create_timestamp(const struct timespec *ts); +# endif #endif /* print and parse functions */ diff --git a/include/cmp_guess.h b/include/cmp_guess.h index 9d3ac42..4b26e9c 100644 --- a/include/cmp_guess.h +++ b/include/cmp_guess.h @@ -20,8 +20,7 @@ #ifndef CMP_GUESS_H #define CMP_GUESS_H -#include "cmp_support.h" - +#include <cmp_support.h> #define DEFAULT_GUESS_LEVEL 2 diff --git a/include/cmp_icu.h b/include/cmp_icu.h index 81a1160..01e528c 100644 --- a/include/cmp_icu.h +++ b/include/cmp_icu.h @@ -20,7 +20,7 @@ #ifndef _CMP_ICU_H_ #define _CMP_ICU_H_ -#include "cmp_support.h" +#include <cmp_support.h> /* return code if the bitstream buffer is too small to store the whole bitstream */ diff --git a/include/cmp_io.h b/include/cmp_io.h index f807825..6de2222 100644 --- a/include/cmp_io.h +++ b/include/cmp_io.h @@ -17,8 +17,8 @@ #include <string.h> -#include "cmp_support.h" -#include "cmp_entity.h" +#include <cmp_support.h> +#include <cmp_entity.h> #define MAX_CONFIG_LINE 256 diff --git a/include/cmp_rdcu.h b/include/cmp_rdcu.h index 14e0af9..6273549 100644 --- a/include/cmp_rdcu.h +++ b/include/cmp_rdcu.h @@ -21,7 +21,7 @@ #ifndef _CMP_RDCU_H_ #define _CMP_RDCU_H_ -#include "cmp_support.h" +#include <cmp_support.h> /* Compression Error Register bits definition, see RDCU-FRS-FN-0952 */ diff --git a/include/cmp_rdcu_extended.h b/include/cmp_rdcu_extended.h index a4f33e0..7ab229b 100644 --- a/include/cmp_rdcu_extended.h +++ b/include/cmp_rdcu_extended.h @@ -18,7 +18,7 @@ #ifndef _CMP_RDCU_EXTENDED_H_ #define _CMP_RDCU_EXTENDED_H_ -#include "../include/cmp_rdcu.h" +#include <cmp_rdcu.h> int rdcu_start_compression(void); diff --git a/include/cmp_support.h b/include/cmp_support.h index 850f0a7..f5e0b38 100644 --- a/include/cmp_support.h +++ b/include/cmp_support.h @@ -109,7 +109,7 @@ enum cmp_data_type { DATA_TYPE_F_CAM_IMAGETTE, DATA_TYPE_F_CAM_IMAGETTE_ADAPTIVE, DATA_TYPE_F_CAM_OFFSET, - DATA_TYPE_F_CAM_BACKGROUND, + DATA_TYPE_F_CAM_BACKGROUND }; diff --git a/include/decmp.h b/include/decmp.h index 2f8478c..4046798 100644 --- a/include/decmp.h +++ b/include/decmp.h @@ -19,10 +19,8 @@ #ifndef DECMP_H_ #define DECMP_H_ -#include "cmp_entity.h" -#include "cmp_support.h" - -void *malloc_decompressed_data(const struct cmp_info *info); +#include <cmp_entity.h> +#include <cmp_support.h> int decompress_data(uint32_t *compressed_data, void *de_model_buf, const struct cmp_info *info, void *decompressed_data); @@ -30,6 +28,4 @@ int decompress_data(uint32_t *compressed_data, void *de_model_buf, int decompress_cmp_entiy(struct cmp_entity *ent, void *model_buf, void *up_model_buf, void *decompressed_data); -double get_compression_ratio(const struct cmp_info *info); - #endif /* DECMP_H_ */ diff --git a/include/rdcu_ctrl.h b/include/rdcu_ctrl.h index ec5b9a2..ac3f03f 100644 --- a/include/rdcu_ctrl.h +++ b/include/rdcu_ctrl.h @@ -245,11 +245,14 @@ uint32_t rdcu_get_golomb_param(void); uint32_t rdcu_get_compr_data_start_addr(void); -uint32_t rdcu_get_compr_data_size(void); +uint32_t rdcu_get_compr_data_size_bit(void); +uint32_t rdcu_get_compr_data_size_byte(void); -uint32_t rdcu_get_compr_data_adaptive_1_size(void); +uint32_t rdcu_get_compr_data_adaptive_1_size_bit(void); +uint32_t rdcu_get_compr_data_adaptive_1_size_byte(void); -uint32_t rdcu_get_compr_data_adaptive_2_size(void); +uint32_t rdcu_get_compr_data_adaptive_2_size_bit(void); +uint32_t rdcu_get_compr_data_adaptive_2_size_byte(void); uint16_t rdcu_get_compr_error(void); diff --git a/include/rdcu_pkt_to_file.h b/include/rdcu_pkt_to_file.h index 87c3d4b..1c350c8 100644 --- a/include/rdcu_pkt_to_file.h +++ b/include/rdcu_pkt_to_file.h @@ -18,7 +18,7 @@ #ifndef _RDCU_PKT_TO_FILE_H_ #define _RDCU_PKT_TO_FILE_H_ -#include "cmp_support.h" +#include <cmp_support.h> /* directory where the tc files are stored, when --rdcu_pkt option is set */ #define TC_DIR "TC_FILES" diff --git a/include/rmap.h b/include/rmap.h index 5156679..c581575 100644 --- a/include/rmap.h +++ b/include/rmap.h @@ -20,6 +20,7 @@ #define RMAP_H #include <stdint.h> +#include <compiler.h> /** * valid RMAP command codes, see Table 5-1 of ECSS‐E‐ST‐50‐52C @@ -149,11 +150,9 @@ struct rmap_instruction { #else #error "Unknown byte order" #endif -}__attribute__((packed)); -#if 0 -compile_time_assert((sizeof(struct rmap_instruction) == sizeof(uint8_t), - RMAP_INSTRUCTION_STRUCT_WRONG_SIZE)); -#endif +} __attribute__((packed)); + +compile_time_assert(sizeof(struct rmap_instruction) == sizeof(uint8_t), RMAP_INSTRUCTION_STRUCT_WRONG_SIZE); /** diff --git a/lib/cmp_data_types.c b/lib/cmp_data_types.c index 749964d..8dd5792 100644 --- a/lib/cmp_data_types.c +++ b/lib/cmp_data_types.c @@ -17,9 +17,9 @@ */ -#include "cmp_data_types.h" -#include "cmp_debug.h" -#include "byteorder.h" +#include <cmp_data_types.h> +#include <cmp_debug.h> +#include <byteorder.h> /* the maximum length of the different data products types in bits */ diff --git a/lib/cmp_entity.c b/lib/cmp_entity.c index d058b17..0296894 100644 --- a/lib/cmp_entity.c +++ b/lib/cmp_entity.c @@ -30,11 +30,11 @@ # endif #endif -#include "byteorder.h" -#include "cmp_debug.h" -#include "cmp_support.h" -#include "cmp_data_types.h" -#include "cmp_entity.h" +#include <byteorder.h> +#include <cmp_debug.h> +#include <cmp_support.h> +#include <cmp_data_types.h> +#include <cmp_entity.h> #ifdef HAS_TIME_H diff --git a/lib/cmp_guess.c b/lib/cmp_guess.c index c173814..3107aaf 100644 --- a/lib/cmp_guess.c +++ b/lib/cmp_guess.c @@ -15,6 +15,7 @@ * * @brief helps the user to find a good compression parameters for a given * dataset + * @warning this part of the software is not intended to run on-board on the ICU. */ #include <limits.h> diff --git a/lib/cmp_icu.c b/lib/cmp_icu.c index 057ee64..2d11006 100644 --- a/lib/cmp_icu.c +++ b/lib/cmp_icu.c @@ -32,11 +32,11 @@ #include <string.h> #include <limits.h> -#include "byteorder.h" -#include "cmp_debug.h" -#include "cmp_data_types.h" -#include "cmp_support.h" -#include "cmp_icu.h" +#include <byteorder.h> +#include <cmp_debug.h> +#include <cmp_data_types.h> +#include <cmp_support.h> +#include <cmp_icu.h> /* pointer to a code word generation function */ @@ -75,7 +75,9 @@ struct cmp_cfg cmp_cfg_icu_create(enum cmp_data_type data_type, enum cmp_mode cm uint32_t model_value, uint32_t lossy_par) { int cfg_valid; - struct cmp_cfg cfg = {0}; + struct cmp_cfg cfg; + + memset(&cfg, 0, sizeof(cfg)); cfg.data_type = data_type; cfg.cmp_mode = cmp_mode; diff --git a/lib/cmp_io.c b/lib/cmp_io.c index 99e80c6..0e74c0d 100644 --- a/lib/cmp_io.c +++ b/lib/cmp_io.c @@ -15,6 +15,7 @@ * more details. * * @brief compression tool Input/Output library + * @warning this part of the software is not intended to run on-board on the ICU. */ #include <stdio.h> @@ -24,12 +25,12 @@ #include <ctype.h> #include <sys/stat.h> -#include "cmp_tool-config.h" -#include "cmp_io.h" -#include "cmp_support.h" -#include "rdcu_cmd.h" -#include "byteorder.h" -#include "cmp_data_types.h" +#include <cmp_tool-config.h> +#include <cmp_io.h> +#include <cmp_support.h> +#include <rdcu_cmd.h> +#include <byteorder.h> +#include <cmp_data_types.h> /* directory to convert from data_type to string */ diff --git a/lib/cmp_rdcu.c b/lib/cmp_rdcu.c index 2a8f214..336fc87 100644 --- a/lib/cmp_rdcu.c +++ b/lib/cmp_rdcu.c @@ -28,13 +28,14 @@ #include <stdint.h> #include <stdio.h> +#include <string.h> -#include "rdcu_cmd.h" -#include "cmp_support.h" -#include "cmp_data_types.h" -#include "rdcu_ctrl.h" -#include "rdcu_rmap.h" -#include "cmp_debug.h" +#include <rdcu_cmd.h> +#include <cmp_debug.h> +#include <cmp_support.h> +#include <cmp_data_types.h> +#include <rdcu_ctrl.h> +#include <rdcu_rmap.h> #define IMA_SAM2BYT \ @@ -144,7 +145,9 @@ static int rdcu_cfg_gen_par_is_invalid(const struct cmp_cfg *cfg) struct cmp_cfg rdcu_cfg_create(enum cmp_data_type data_type, enum cmp_mode cmp_mode, uint32_t model_value, uint32_t lossy_par) { - struct cmp_cfg cfg = {0}; + struct cmp_cfg cfg; + + memset(&cfg, 0, sizeof(cfg)); cfg.data_type = data_type; cfg.cmp_mode = cmp_mode; @@ -157,6 +160,7 @@ struct cmp_cfg rdcu_cfg_create(enum cmp_data_type data_type, enum cmp_mode cmp_m return cfg; } + /** * @brief check if a buffer is in inside the RDCU SRAM * @@ -801,9 +805,9 @@ int rdcu_read_cmp_info(struct cmp_info *info) info->rdcu_new_model_adr_used = rdcu_get_new_model_addr_used(); info->samples_used = rdcu_get_samples_used(); info->rdcu_cmp_adr_used = rdcu_get_compr_data_start_addr(); - info->cmp_size = rdcu_get_compr_data_size(); - info->ap1_cmp_size = rdcu_get_compr_data_adaptive_1_size(); - info->ap2_cmp_size = rdcu_get_compr_data_adaptive_2_size(); + info->cmp_size = rdcu_get_compr_data_size_bit(); + info->ap1_cmp_size = rdcu_get_compr_data_adaptive_1_size_bit(); + info->ap2_cmp_size = rdcu_get_compr_data_adaptive_2_size_bit(); info->cmp_err = rdcu_get_compr_error(); } return 0; diff --git a/lib/cmp_support.c b/lib/cmp_support.c index a02e897..666ce96 100644 --- a/lib/cmp_support.c +++ b/lib/cmp_support.c @@ -18,8 +18,8 @@ */ -#include "cmp_support.h" -#include "cmp_debug.h" +#include <cmp_support.h> +#include <cmp_debug.h> /** @@ -378,13 +378,15 @@ unsigned int cmp_up_model(unsigned int data, unsigned int model, unsigned int model_value, unsigned int round) { + uint64_t weighted_model, weighted_data; + /* round and round back input because for decompression the accurate * data values are not available */ data = round_inv(round_fwd(data, round), round); /* cast uint64_t to prevent overflow in the multiplication */ - uint64_t weighted_model = (uint64_t)model * model_value; - uint64_t weighted_data = (uint64_t)data * (MAX_MODEL_VALUE - model_value); + weighted_model = (uint64_t)model * model_value; + weighted_data = (uint64_t)data * (MAX_MODEL_VALUE - model_value); /* truncation is intended */ return (unsigned int)((weighted_model + weighted_data) / MAX_MODEL_VALUE); } diff --git a/lib/rdcu_ctrl.c b/lib/rdcu_ctrl.c index a1e3b0f..6f743c6 100644 --- a/lib/rdcu_ctrl.c +++ b/lib/rdcu_ctrl.c @@ -1305,44 +1305,97 @@ uint32_t rdcu_get_compr_data_start_addr(void) /** - * @brief get compressed data size + * @brief get the need bytes for the given bits + * + * @param cmp_size_bit compressed data size, measured in bits + * + * @returns the size in bytes to store the compressed data + */ + +static uint32_t rdcu_bit_to_byte(unsigned int cmp_size_bit) +{ + return ((cmp_size_bit + 7) / 8); +} + + +/** + * @brief get compressed data size in bits * @see RDCU-FRS-FN-0922 * * @returns the compressed data size in bits */ -uint32_t rdcu_get_compr_data_size(void) +uint32_t rdcu_get_compr_data_size_bit(void) { return rdcu->compr_data_size; } /** - * @brief get compressed data adaptive 1 size + * @brief get compressed data size in bytes + * @see RDCU-FRS-FN-0922 + * + * @returns the compressed data size in bytes + */ + +uint32_t rdcu_get_compr_data_size_byte(void) +{ + return rdcu_bit_to_byte(rdcu_get_compr_data_size_bit()); +} + + +/** + * @brief get compressed data adaptive 1 size in bits * @see RDCU-FRS-FN-0932 * * @returns the adaptive 1 compressed data size in bits */ -uint32_t rdcu_get_compr_data_adaptive_1_size(void) +uint32_t rdcu_get_compr_data_adaptive_1_size_bit(void) { return rdcu->compr_data_adaptive_1_size; } /** - * @brief get compressed data adaptive 2 size + * @brief get compressed data adaptive 1 size in bytes + * @see RDCU-FRS-FN-0932 + * + * @returns the adaptive 1 compressed data size in bytes + */ + +uint32_t rdcu_get_compr_data_adaptive_1_size_byte(void) +{ + return rdcu_bit_to_byte(rdcu_get_compr_data_adaptive_1_size_bit()); +} + + +/** + * @brief get compressed data adaptive 2 size in bits * @see RDCU-FRS-FN-0942 * * @returns the adaptive 2 compressed data size in bits */ -uint32_t rdcu_get_compr_data_adaptive_2_size(void) +uint32_t rdcu_get_compr_data_adaptive_2_size_bit(void) { return rdcu->compr_data_adaptive_2_size; } +/** + * @brief get compressed data adaptive 2 size in bytes + * @see RDCU-FRS-FN-0942 + * + * @returns the adaptive 2 compressed data size in bytes + */ + +uint32_t rdcu_get_compr_data_adaptive_2_size_byte(void) +{ + return rdcu_bit_to_byte(rdcu_get_compr_data_adaptive_2_size_bit()); +} + + /** * @brief get compression error code * @see RDCU-FRS-FN-0954 @@ -1606,7 +1659,7 @@ int rdcu_write_sram_16(uint16_t *buf, uint32_t addr, uint32_t size) { uint32_t i; - for (i = 0; i < size/sizeof(uint16_t); i++){ + for (i = 0; i < size/sizeof(uint16_t); i++) { uint16_t *sram_buf = (uint16_t *)&rdcu->sram[addr]; sram_buf[i] = cpu_to_be16(buf[i]); @@ -1652,9 +1705,9 @@ int rdcu_write_sram_32(uint32_t *buf, uint32_t addr, uint32_t size) { uint32_t i; - for (i = 0; i < size/sizeof(uint32_t); i++){ - uint32_t *sram_buf = (uint32_t *)&rdcu->sram[addr]; - + for (i = 0; i < size/sizeof(uint32_t); i++) { + uint32_t *sram_buf = (uint32_t *)&rdcu->sram[addr]; + sram_buf[i] = cpu_to_be32(buf[i]); } } @@ -2466,14 +2519,12 @@ int rdcu_sync_sram_mirror_parallel(uint32_t rx_addr, uint32_t rx_size, int rdcu_ctrl_init(void) { - rdcu = (struct rdcu_mirror *) malloc(sizeof(struct rdcu_mirror)); - if (!rdcu){ + rdcu = (struct rdcu_mirror *) calloc(1, sizeof(struct rdcu_mirror)); + if (!rdcu) { printf("Error allocating memory for the RDCU mirror\n"); return -1; } - memset(rdcu, 0, sizeof(struct rdcu_mirror)); - #if (__sparc__) rdcu->sram = (uint8_t *) 0x60000000; #else /* assume PC */ @@ -2485,7 +2536,7 @@ int rdcu_ctrl_init(void) } #endif - memset(rdcu->sram, 0, RDCU_SRAM_SIZE); - + memset(rdcu->sram, 0, RDCU_SRAM_SIZE); /* clear sram buffer */ + return 0; } diff --git a/lib/rdcu_pkt_to_file.c b/lib/rdcu_pkt_to_file.c index 0c71c8e..ed10778 100644 --- a/lib/rdcu_pkt_to_file.c +++ b/lib/rdcu_pkt_to_file.c @@ -17,7 +17,7 @@ * * This library provided a rmap_rx and rmap_tx function for the rdcu_rmap * library to write generated packets into text files. - * + * @warning this part of the software is not intended to run on-board on the ICU. */ #include <stdint.h> @@ -28,11 +28,11 @@ #include <errno.h> #include <sys/stat.h> -#include "rdcu_pkt_to_file.h" -#include "cmp_rdcu_extended.h" -#include "rdcu_rmap.h" -#include "rdcu_ctrl.h" -#include "rdcu_cmd.h" +#include <rdcu_pkt_to_file.h> +#include <cmp_rdcu_extended.h> +#include <rdcu_rmap.h> +#include <rdcu_ctrl.h> +#include <rdcu_cmd.h> /* Name of directory were the RMAP packages are stored */ static char tc_folder_dir[MAX_TC_FOLDER_DIR_LEN] = "TC_FILES"; diff --git a/lib/rdcu_rmap.c b/lib/rdcu_rmap.c index f6035cb..b314b47 100644 --- a/lib/rdcu_rmap.c +++ b/lib/rdcu_rmap.c @@ -70,7 +70,7 @@ #include <rmap.h> #include <rdcu_rmap.h> - +#define RDCU_CONFIG_DEBUG 0 static uint8_t rdcu_addr; static uint8_t icu_addr; @@ -116,8 +116,8 @@ static size_t data_mtu; /* maximum data transfer size per unit */ * Every time a slot is retrieved, the "pending" counter is incremented to * have a fast indicator of the synchronisation status, i.e. if "pending" * is not set, the synchronisation procedure is complete and the local data may - * be read, or the remote data has been written and further commands may may - * be issued. + * be read, or the remote data has been written and further commands may be + * issued. * * The local (mirror) start address of the requested remote address is stored * into the same slot in the "local_addr" array, so we'll know where to put the @@ -261,7 +261,7 @@ static int rdcu_process_rx(void) cnt++; - if ((0)) + if (RDCU_CONFIG_DEBUG) rmap_parse_pkt(spw_pckt); /* convert format */ @@ -276,25 +276,20 @@ static int rdcu_process_rx(void) local_addr = trans_log_get_addr(rp->tr_id); if (!local_addr) { - printf("warning: response packet received not in " - "transaction log\n"); + printf("Warning: response packet received not in transaction log\n"); rmap_erase_packet(rp); continue; } - if (rp->data_len & 0x3) { - printf("Error: response packet data size is not a " - "multiple of 4, transaction dropped\n"); + printf("Error: response packet data size is not a multiple of 4, transaction dropped\n"); trans_log_release_slot(rp->tr_id); rmap_erase_packet(rp); return -1; } - if (rp->data_len) { - uint8_t crc8; /* convert endianess if needed */ @@ -308,13 +303,9 @@ static int rdcu_process_rx(void) } #endif /* __BYTE_ORDER__ */ - crc8 = rmap_crc8(rp->data, rp->data_len); - if (crc8 != rp->data_crc) { - - printf("Error: data CRC8 mismatch, data invalid or " - "packet truncated. Transaction dropped\n"); + printf("Error: data CRC8 mismatch, data invalid or packet truncated. Transaction dropped\n"); trans_log_release_slot(rp->tr_id); rmap_erase_packet(rp); @@ -353,7 +344,7 @@ int rdcu_submit_tx(const uint8_t *cmd, int cmd_size, if (!rmap_tx) return -1; - if ((0)) + if (RDCU_CONFIG_DEBUG) printf("Transmitting RMAP command\n"); if (rmap_tx(cmd, cmd_size, dpath_len, data, data_size)) { @@ -413,7 +404,7 @@ int rdcu_gen_cmd(uint16_t trans_id, uint8_t *cmd, return n; } - memset(cmd, 0, n); + memset(cmd, 0, n); /* clear command buffer */ n = rmap_build_hdr(pkt, cmd); @@ -476,8 +467,7 @@ int rdcu_sync(int (*fn)(uint16_t trans_id, uint8_t *cmd), /* convert endianess if needed */ #if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) - if (data_len) - { + if (data_len) { int i; uint32_t *tmp_buf = alloca(data_len); uint32_t *p = (uint32_t *) addr; @@ -530,7 +520,7 @@ int rdcu_sync_data(int (*fn)(uint16_t trans_id, uint8_t *cmd, slot = trans_log_grab_slot(data); if (slot < 0) { - if ((0)) + if (RDCU_CONFIG_DEBUG) printf("Error: all slots busy!\n"); return 1; } @@ -782,7 +772,7 @@ int rdcu_rmap_sync_status(void) void rdcu_rmap_reset_log(void) { - memset(trans_log.in_use, 0, TRANS_LOG_SIZE); + memset(trans_log.in_use, 0, sizeof(trans_log.in_use)); /* clear in_use buffer */ trans_log.pending = 0; } diff --git a/lib/rmap.c b/lib/rmap.c index f8b6eb0..703add5 100644 --- a/lib/rmap.c +++ b/lib/rmap.c @@ -178,7 +178,7 @@ struct rmap_pkt *rmap_create_packet(void) struct rmap_pkt *pkt; - pkt = (struct rmap_pkt *) calloc(sizeof(struct rmap_pkt), 1); + pkt = (struct rmap_pkt *) calloc(1, sizeof(struct rmap_pkt)); if (pkt) pkt->proto_id = RMAP_PROTOCOL_ID; @@ -206,7 +206,7 @@ void rmap_destroy_packet(struct rmap_pkt *pkt) * @param pkt a struct rmap_pkt * * @note this will attempt to deallocate any pointer references assigned by the - * user + * user * @warning use with care */ @@ -563,7 +563,7 @@ struct rmap_pkt *rmap_pkt_from_buffer(uint8_t *buf, uint32_t len) pkt->src = buf[RMAP_SRC_ADDR + n]; pkt->tr_id = ((uint16_t) buf[RMAP_TRANS_ID_BYTE0 + n] << 8) | - (uint16_t) buf[RMAP_TRANS_ID_BYTE1 + n]; + (uint16_t) buf[RMAP_TRANS_ID_BYTE1 + n]; /* commands have a data address */ if (pkt->ri.cmd_resp) { @@ -576,10 +576,9 @@ struct rmap_pkt *rmap_pkt_from_buffer(uint8_t *buf, uint32_t len) /* all headers have data length unless they are a write reply */ if (!(!pkt->ri.cmd_resp && (pkt->ri.cmd & (RMAP_CMD_BIT_WRITE)))) { - pkt->data_len = ((uint32_t) buf[RMAP_DATALEN_BYTE0 + n] << 16) | ((uint32_t) buf[RMAP_DATALEN_BYTE1 + n] << 8) | - (uint32_t) buf[RMAP_DATALEN_BYTE2 + n]; + (uint32_t) buf[RMAP_DATALEN_BYTE2 + n]; } pkt->hdr_crc = buf[RMAP_HEADER_CRC]; @@ -587,7 +586,7 @@ struct rmap_pkt *rmap_pkt_from_buffer(uint8_t *buf, uint32_t len) if (pkt->data_len) { if (len < RMAP_DATA_START + n + pkt->data_len + 1) { /* +1 for data CRC */ printf("buffer len is smaller than the contained RMAP packet; buf len: %u bytes vs RMAP: %zu bytes needed\n", - len , RMAP_DATA_START + n + pkt->data_len); + len, RMAP_DATA_START + n + pkt->data_len); goto error; } if (len > RMAP_DATA_START + n + pkt->data_len + 1) /* +1 for data CRC */ @@ -702,7 +701,7 @@ static void rmap_process_read_reply(uint8_t *pkt) for (i = 0; i < len; i++) printf("%02x:", pkt[RMAP_DATA_START + i]); - printf("\b \n"); + printf("\b\n"); } -- GitLab