Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions nanomodbus.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ static void discard_n(nmbs_t* nmbs, uint16_t n) {


static uint16_t get_2(nmbs_t* nmbs) {
const uint16_t result =
((uint16_t) nmbs->msg.buf[nmbs->msg.buf_idx]) << 8 | (uint16_t) nmbs->msg.buf[nmbs->msg.buf_idx + 1];
const uint16_t result = (uint16_t) (((uint16_t) nmbs->msg.buf[nmbs->msg.buf_idx]) << 8 |
(uint16_t) nmbs->msg.buf[nmbs->msg.buf_idx + 1]);
nmbs->msg.buf_idx += 2;
return result;
}
Expand Down Expand Up @@ -118,7 +118,7 @@ static uint16_t* get_regs(nmbs_t* nmbs, uint16_t n) {
uint16_t* msg_buf_ptr = (uint16_t*) (nmbs->msg.buf + nmbs->msg.buf_idx);
nmbs->msg.buf_idx += n * 2;
while (n--) {
msg_buf_ptr[n] = (msg_buf_ptr[n] << 8) | ((msg_buf_ptr[n] >> 8) & 0xFF);
msg_buf_ptr[n] = (uint16_t) ((msg_buf_ptr[n] << 8) | ((msg_buf_ptr[n] >> 8) & 0xFF));
}
return msg_buf_ptr;
}
Expand All @@ -131,15 +131,15 @@ static void put_regs(nmbs_t* nmbs, const uint16_t* data, uint16_t n) {
uint16_t* msg_buf_ptr = (uint16_t*) (nmbs->msg.buf + nmbs->msg.buf_idx);
nmbs->msg.buf_idx += n * 2;
while (n--) {
msg_buf_ptr[n] = (data[n] << 8) | ((data[n] >> 8) & 0xFF);
msg_buf_ptr[n] = (uint16_t) ((data[n] << 8) | ((data[n] >> 8) & 0xFF));
}
}
#endif


static void swap_regs(uint16_t* data, uint16_t n) {
while (n--) {
data[n] = (data[n] << 8) | ((data[n] >> 8) & 0xFF);
data[n] = (uint16_t) ((data[n] << 8) | ((data[n] >> 8) & 0xFF));
}
}

Expand Down Expand Up @@ -2077,7 +2077,7 @@ nmbs_error nmbs_write_multiple_coils(nmbs_t* nmbs, uint16_t address, uint16_t qu
if ((uint32_t) address + (uint32_t) quantity > ((uint32_t) 0xFFFF) + 1)
return NMBS_ERROR_INVALID_ARGUMENT;

uint8_t coils_bytes = (quantity + 7) / 8;
uint8_t coils_bytes = (uint8_t) ((quantity + 7) / 8);

msg_state_req(nmbs, 15);
put_req_header(nmbs, 5 + coils_bytes);
Expand Down Expand Up @@ -2111,7 +2111,7 @@ nmbs_error nmbs_write_multiple_registers(nmbs_t* nmbs, uint16_t address, uint16_
if ((uint32_t) address + (uint32_t) quantity > ((uint32_t) 0xFFFF) + 1)
return NMBS_ERROR_INVALID_ARGUMENT;

const uint8_t registers_bytes = quantity * 2;
const uint8_t registers_bytes = (uint8_t) (quantity * 2);

msg_state_req(nmbs, 16);
put_req_header(nmbs, 5 + registers_bytes);
Expand Down Expand Up @@ -2184,7 +2184,7 @@ nmbs_error nmbs_write_file_record(nmbs_t* nmbs, uint16_t file_number, uint16_t r
msg_state_req(nmbs, 21);
put_req_header(nmbs, 8 + data_size);

put_1(nmbs, 7 + data_size); // add Byte Count
put_1(nmbs, (uint8_t) (7 + data_size)); // add Byte Count
put_1(nmbs, 6); // add Reference Type const
put_2(nmbs, file_number);
put_2(nmbs, record_number);
Expand Down Expand Up @@ -2218,7 +2218,7 @@ nmbs_error nmbs_read_write_registers(nmbs_t* nmbs, uint16_t read_address, uint16
if ((uint32_t) write_address + (uint32_t) write_quantity > ((uint32_t) 0xFFFF) + 1)
return NMBS_ERROR_INVALID_ARGUMENT;

const uint8_t registers_bytes = write_quantity * 2;
const uint8_t registers_bytes = (uint8_t) (write_quantity * 2);

msg_state_req(nmbs, 23);
put_req_header(nmbs, 9 + registers_bytes);
Expand Down