input_registers.c 521 B

12345678910111213141516171819
  1. #include "slave.h"
  2. static uint16_t _tab_input_registers[10] = {0, 1, 2, 3, 4, 9, 8, 7, 6, 5};
  3. static int get_map_buf(void *buf, int bufsz)
  4. {
  5. uint16_t *ptr = (uint16_t *)buf;
  6. pthread_mutex_lock(&slave_mtx);
  7. for (int i = 0; i < sizeof(_tab_input_registers) / sizeof(_tab_input_registers[0]); i++) {
  8. ptr[i] = _tab_input_registers[i];
  9. }
  10. pthread_mutex_unlock(&slave_mtx);
  11. return 0;
  12. }
  13. const agile_modbus_slave_util_map_t input_register_maps[1] = {
  14. {0xFFF6, 0xFFFF, get_map_buf, NULL}};