From: Gerhard Sittig Date: Wed, 13 May 2020 16:26:54 +0000 (+0200) Subject: asix-sigma: more u16 sample memory access nits (timestamps, values) X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=2a62a9c44e7690f68ca756c6a5b9189c32186b47;p=libsigrok.git asix-sigma: more u16 sample memory access nits (timestamps, values) Further "flatten" the DRAM layout's declaration for sample data. Declare timestamps and sample data as uint16_t, keep accessing them via endianess aware conversion routines. Accessing a larger integer in smaller quantities is perfectly fine, the inverse direction would be problematic. --- diff --git a/src/hardware/asix-sigma/protocol.c b/src/hardware/asix-sigma/protocol.c index 1875b756..f052c51c 100644 --- a/src/hardware/asix-sigma/protocol.c +++ b/src/hardware/asix-sigma/protocol.c @@ -1121,7 +1121,7 @@ static int check_and_submit_sample(struct dev_context *devc, */ static uint16_t sigma_dram_cluster_ts(struct sigma_dram_cluster *cluster) { - return read_u16le(&cluster->timestamp[0]); + return read_u16le((const uint8_t *)&cluster->timestamp); } /* @@ -1129,7 +1129,7 @@ static uint16_t sigma_dram_cluster_ts(struct sigma_dram_cluster *cluster) */ static uint16_t sigma_dram_cluster_data(struct sigma_dram_cluster *cl, int idx) { - return read_u16le(&cl->samples[idx].sample[0]); + return read_u16le((const uint8_t *)&cl->samples[idx]); } /* diff --git a/src/hardware/asix-sigma/protocol.h b/src/hardware/asix-sigma/protocol.h index 64b8a02c..8c4f2dfb 100644 --- a/src/hardware/asix-sigma/protocol.h +++ b/src/hardware/asix-sigma/protocol.h @@ -205,10 +205,8 @@ enum sigma_read_register { struct sigma_dram_line { struct sigma_dram_cluster { - uint8_t timestamp[sizeof(uint16_t)]; - struct sigma_dram_event { - uint8_t sample[sizeof(uint16_t)]; - } samples[EVENTS_PER_CLUSTER]; + uint16_t timestamp; + uint16_t samples[EVENTS_PER_CLUSTER]; } cluster[CLUSTERS_PER_ROW]; };