diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-07-21 23:03:37 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2012-07-21 23:03:37 +0000 |
commit | 200e62a958a47354454cd6b9b2919aae825be6e0 (patch) | |
tree | e86b5de65cdb28b71261bf86168498f3bf606b0d | |
parent | 2bc1ef34add9aa7c3168085f769cdfb23af409d5 (diff) | |
download | px4-firmware-200e62a958a47354454cd6b9b2919aae825be6e0.tar.gz px4-firmware-200e62a958a47354454cd6b9b2919aae825be6e0.tar.bz2 px4-firmware-200e62a958a47354454cd6b9b2919aae825be6e0.zip |
Make serial setup configurale in apps/examples/modbus
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4966 7fd9a85b-ad96-42d3-883c-3090e2eb8679
-rw-r--r-- | apps/examples/README.txt | 4 | ||||
-rw-r--r-- | apps/examples/modbus/modbus_main.c | 42 |
2 files changed, 38 insertions, 8 deletions
diff --git a/apps/examples/README.txt b/apps/examples/README.txt index 29cdf1a76..0e777eda7 100644 --- a/apps/examples/README.txt +++ b/apps/examples/README.txt @@ -490,6 +490,10 @@ examples/modbus demos/LINUX directory of the FreeModBus version 1.5.0 (June 6, 2010) that can be downloaded in its entirety from http://developer.berlios.de/project/showfiles.php?group_id=6120. + CONFIG_EXAMPLES_MODBUS_PORT, Default 0 (for /dev/ttyS0) + CONFIG_EXAMPLES_MODBUS_BAUD, Default 38400 + CONFIG_EXAMPLES_MODBUS_PARITY, Default MB_PAR_EVEN + CONFIG_EXAMPLES_MODBUS_REG_INPUT_START, Default 1000 CONFIG_EXAMPLES_MODBUS_REG_INPUT_NREGS, Default 4 CONFIG_EXAMPLES_MODBUS_REG_HOLDING_START, Default 2000 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; |