summaryrefslogtreecommitdiff
path: root/apps/examples/modbus
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-07-21 23:03:37 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-07-21 23:03:37 +0000
commit4b91bbe4ddedd7090ccbe8a93b9f5075de7bdd6a (patch)
treee86b5de65cdb28b71261bf86168498f3bf606b0d /apps/examples/modbus
parent563e8e8bbbe78c77efb0ab0fdb6f319ab7f9822d (diff)
downloadnuttx-4b91bbe4ddedd7090ccbe8a93b9f5075de7bdd6a.tar.gz
nuttx-4b91bbe4ddedd7090ccbe8a93b9f5075de7bdd6a.tar.bz2
nuttx-4b91bbe4ddedd7090ccbe8a93b9f5075de7bdd6a.zip
Make serial setup configurale in apps/examples/modbus
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4966 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/examples/modbus')
-rw-r--r--apps/examples/modbus/modbus_main.c42
1 files changed, 34 insertions, 8 deletions
diff --git a/apps/examples/modbus/modbus_main.c b/apps/examples/modbus/modbus_main.c
index 0f9dea4ac..1250cdf84 100644
--- a/apps/examples/modbus/modbus_main.c
+++ b/apps/examples/modbus/modbus_main.c
@@ -75,6 +75,18 @@
****************************************************************************/
/* Configuration ************************************************************/
+#ifndef CONFIG_EXAMPLES_MODBUS_PORT
+# define CONFIG_EXAMPLES_MODBUS_PORT 0
+#endif
+
+#ifndef CONFIG_EXAMPLES_MODBUS_BAUD
+# define CONFIG_EXAMPLES_MODBUS_BAUD 38400
+#endif
+
+#ifndef CONFIG_EXAMPLES_MODBUS_PARITY
+# define CONFIG_EXAMPLES_MODBUS_PARITY MB_PAR_EVEN
+#endif
+
#ifndef CONFIG_EXAMPLES_MODBUS_REG_INPUT_START
# define CONFIG_EXAMPLES_MODBUS_REG_INPUT_START 1000
#endif
@@ -175,9 +187,17 @@ static inline int modbus_initialize(void)
status = ENODEV;
- /* Initialize the FreeModBus library */
-
- mberr = eMBInit(MB_RTU, 0X0A, 0, 38400, MB_PAR_EVEN);
+ /* Initialize the FreeModBus library.
+ *
+ * MB_RTU = RTU mode
+ * 0x0a = Slave address
+ * CONFIG_EXAMPLES_MODBUS_PORT = port, default=0 (i.e., /dev/ttyS0)
+ * CONFIG_EXAMPLES_MODBUS_BAUD = baud, default=38400
+ * CONFIG_EXAMPLES_MODBUS_PARITY = parity, default=MB_PAR_EVEN
+ */
+
+ mberr = eMBInit(MB_RTU, 0x0a, CONFIG_EXAMPLES_MODBUS_PORT,
+ CONFIG_EXAMPLES_MODBUS_BAUD, CONFIG_EXAMPLES_MODBUS_PARITY);
if (mberr != MB_ENOERR)
{
fprintf(stderr, MAIN_NAME_STRING
@@ -185,9 +205,15 @@ static inline int modbus_initialize(void)
goto errout_with_mutex;
}
- /* Set the slave ID */
-
- mberr = eMBSetSlaveID(0x34, TRUE, g_slaveid, 3);
+ /* Set the slave ID
+ *
+ * 0x34 = Slave ID
+ * true = Is running (run indicator status = 0xff)
+ * g_slaveid = Additional values to be returned with the slave ID
+ * 3 = Length of additional values (in bytes)
+ */
+
+ mberr = eMBSetSlaveID(0x34, true, g_slaveid, 3);
if (mberr != MB_ENOERR)
{
fprintf(stderr, MAIN_NAME_STRING
@@ -345,7 +371,7 @@ int MAIN_NAME(int argc, char *argv[])
/* Handle command line arguments */
- g_modbus.quit = FALSE;
+ g_modbus.quit = false;
while ((option = getopt(argc, argv, "desqh")) != ERROR)
{
@@ -393,7 +419,7 @@ int MAIN_NAME(int argc, char *argv[])
break;
case 'q': /* Quit application */
- g_modbus.quit = TRUE;
+ g_modbus.quit = true;
pthread_kill(g_modbus.threadid, 9);
break;