| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- menu "Modbus configuration"
- config FMB_COMM_MODE_RTU_EN
- bool "Enable Modbus stack support for RTU mode"
- default y
- help
- Enable RTU Modbus communication mode option for Modbus serial stack.
- config FMB_COMM_MODE_ASCII_EN
- bool "Enable Modbus stack support for ASCII mode"
- default y
- help
- Enable ASCII Modbus communication mode option for Modbus serial stack.
- config FMB_MASTER_TIMEOUT_MS_RESPOND
- int "Slave respond timeout (Milliseconds)"
- default 150
- range 50 400
- help
- If master sends a frame which is not broadcast, it has to wait sometime for slave response.
- if slave is not respond in this time, the master will process timeout error.
- config FMB_MASTER_DELAY_MS_CONVERT
- int "Slave conversion delay (Milliseconds)"
- default 200
- range 50 400
- help
- If master sends a broadcast frame, it has to wait conversion time to delay,
- then master can send next frame.
- config FMB_QUEUE_LENGTH
- int "Modbus serial task queue length"
- range 0 200
- default 20
- help
- Modbus serial driver queue length. It is used by event queue task.
- See the serial driver API for more information.
- config FMB_SERIAL_TASK_STACK_SIZE
- int "Modbus serial task stack size"
- range 768 8192
- default 2048
- help
- Modbus serial task stack size for event queue task.
- It may be adjusted when debugging is enabled (for example).
- config FMB_SERIAL_BUF_SIZE
- int "Modbus serial task RX/TX buffer size"
- range 0 2048
- default 256
- help
- Modbus serial task RX and TX buffer size for UART driver initialization.
- This buffer is used for modbus frame transfer. The Modbus protocol maximum
- frame size is 256 bytes. Bigger size can be used for non standard implementations.
- config FMB_SERIAL_ASCII_BITS_PER_SYMB
- int "Number of data bits per ASCII character"
- default 8
- range 7 8
- depends on FMB_COMM_MODE_ASCII_EN
- help
- This option defines the number of data bits per ASCII character.
- config FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS
- int "Response timeout for ASCII communication mode (ms)"
- default 1000
- range 300 2000
- depends on FMB_COMM_MODE_ASCII_EN
- help
- This option defines response timeout of slave in milliseconds for ASCII communication mode.
- Thus the timeout will expire and allow the master’s program to handle the error.
- config FMB_SERIAL_TASK_PRIO
- int "Modbus serial task priority"
- range 3 10
- default 10
- help
- Modbus UART driver event task priority.
- The priority of Modbus controller task is equal to (CONFIG_FMB_SERIAL_TASK_PRIO - 1).
- config FMB_CONTROLLER_SLAVE_ID_SUPPORT
- bool "Modbus controller slave ID support"
- default n
- help
- Modbus slave ID support enable.
- When enabled the Modbus <Report Slave ID> command is supported by stack.
- config FMB_CONTROLLER_SLAVE_ID
- hex "Modbus controller slave ID"
- range 0 4294967295
- default 0x00112233
- depends on FMB_CONTROLLER_SLAVE_ID_SUPPORT
- help
- Modbus slave ID value to identify modbus device
- in the network using <Report Slave ID> command.
- Most significant byte of ID is used as short device ID and
- other three bytes used as long ID.
- config FMB_CONTROLLER_NOTIFY_TIMEOUT
- int "Modbus controller notification timeout (ms)"
- range 0 200
- default 20
- help
- Modbus controller notification timeout in milliseconds.
- This timeout is used to send notification about accessed parameters.
- config FMB_CONTROLLER_NOTIFY_QUEUE_SIZE
- int "Modbus controller notification queue size"
- range 0 200
- default 20
- help
- Modbus controller notification queue size.
- The notification queue is used to get information about accessed parameters.
- config FMB_CONTROLLER_STACK_SIZE
- int "Modbus controller stack size"
- range 0 8192
- default 4096
- help
- Modbus controller task stack size. The Stack size may be adjusted when
- debug mode is used which requires more stack size (for example).
- config FMB_EVENT_QUEUE_TIMEOUT
- int "Modbus stack event queue timeout (ms)"
- range 0 500
- default 20
- help
- Modbus stack event queue timeout in milliseconds. This may help to optimize
- Modbus stack event processing time.
- config FMB_TIMER_PORT_ENABLED
- bool "Modbus slave stack use timer for 3.5T symbol time measurement"
- default y
- help
- If this option is set the Modbus stack uses timer for T3.5 time measurement.
- Else the internal UART TOUT timeout is used for 3.5T symbol time measurement.
- config FMB_TIMER_GROUP
- int "Modbus Timer group number"
- range 0 1
- default 0
- help
- Modbus Timer group number that is used for timeout measurement.
- config FMB_TIMER_INDEX
- int "Modbus Timer index in the group"
- range 0 1
- default 0
- help
- Modbus Timer Index in the group that is used for timeout measurement.
- config FMB_TIMER_ISR_IN_IRAM
- bool "Place timer interrupt handler into IRAM"
- default n
- select UART_ISR_IN_IRAM
- help
- This option places Modbus timer IRQ handler into IRAM.
- This allows to avoid delays related to processing of non-IRAM-safe interrupts
- during a flash write operation (NVS updating a value, or some other
- flash API which has to perform an read/write operation and disable CPU cache).
- This option has dependency with the UART_ISR_IN_IRAM option which places UART interrupt
- handler into IRAM to prevent delays related to processing of UART events.
- endmenu
|