mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-19 04:53:35 +08:00
Remove BOTHER
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4972 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
@@ -491,7 +491,7 @@ examples/modbus
|
||||
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_BAUD, Default B38400
|
||||
CONFIG_EXAMPLES_MODBUS_PARITY, Default MB_PAR_EVEN
|
||||
|
||||
CONFIG_EXAMPLES_MODBUS_REG_INPUT_START, Default 1000
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#include <termios.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
|
||||
@@ -80,7 +81,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_MODBUS_BAUD
|
||||
# define CONFIG_EXAMPLES_MODBUS_BAUD 38400
|
||||
# define CONFIG_EXAMPLES_MODBUS_BAUD B38400
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_EXAMPLES_MODBUS_PARITY
|
||||
@@ -192,7 +193,7 @@ static inline int modbus_initialize(void)
|
||||
* 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_BAUD = baud, default=B38400
|
||||
* CONFIG_EXAMPLES_MODBUS_PARITY = parity, default=MB_PAR_EVEN
|
||||
*/
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <termios.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
PR_BEGIN_EXTERN_C
|
||||
@@ -136,7 +137,7 @@ typedef enum
|
||||
* address or to the broadcast address are processed.
|
||||
* \param ucPort The port to use. E.g. 1 for COM1 on windows. This value
|
||||
* is platform dependent and some ports simply choose to ignore it.
|
||||
* \param ulBaudRate The baudrate. E.g. 19200. Supported baudrates depend
|
||||
* \param ulBaudRate The baudrate. E.g. B19200. Supported baudrates depend
|
||||
* on the porting layer.
|
||||
* \param eParity Parity used for serial transmission.
|
||||
*
|
||||
@@ -149,7 +150,7 @@ typedef enum
|
||||
* - eMBErrorCode::MB_EPORTERR IF the porting layer returned an error.
|
||||
*/
|
||||
eMBErrorCode eMBInit( eMBMode eMode, uint8_t ucSlaveAddress,
|
||||
uint8_t ucPort, uint32_t ulBaudRate, eMBParity eParity );
|
||||
uint8_t ucPort, speed_t ulBaudRate, eMBParity eParity );
|
||||
|
||||
/*! \ingroup modbus
|
||||
* \brief Initialize the Modbus protocol stack for Modbus TCP.
|
||||
|
||||
@@ -71,7 +71,7 @@ bool xMBPortEventGet( /*@out@ */ eMBEventType * eEvent );
|
||||
|
||||
/* ----------------------- Serial port functions ----------------------------*/
|
||||
|
||||
bool xMBPortSerialInit( uint8_t ucPort, uint32_t ulBaudRate,
|
||||
bool xMBPortSerialInit( uint8_t ucPort, speed_t ulBaudRate,
|
||||
uint8_t ucDataBits, eMBParity eParity );
|
||||
|
||||
void vMBPortClose( void );
|
||||
|
||||
@@ -106,7 +106,7 @@ static volatile uint8_t ucMBLFCharacter;
|
||||
|
||||
/* ----------------------- Start implementation -----------------------------*/
|
||||
eMBErrorCode
|
||||
eMBASCIIInit( uint8_t ucSlaveAddress, uint8_t ucPort, uint32_t ulBaudRate, eMBParity eParity )
|
||||
eMBASCIIInit( uint8_t ucSlaveAddress, uint8_t ucPort, speed_t ulBaudRate, eMBParity eParity )
|
||||
{
|
||||
eMBErrorCode eStatus = MB_ENOERR;
|
||||
( void )ucSlaveAddress;
|
||||
|
||||
@@ -37,7 +37,7 @@ PR_BEGIN_EXTERN_C
|
||||
|
||||
#ifdef CONFIG_MB_ASCII_ENABLED
|
||||
eMBErrorCode eMBASCIIInit( uint8_t slaveAddress, uint8_t ucPort,
|
||||
uint32_t ulBaudRate, eMBParity eParity );
|
||||
speed_t ulBaudRate, eMBParity eParity );
|
||||
void eMBASCIIStart( void );
|
||||
void eMBASCIIStop( void );
|
||||
|
||||
|
||||
+1
-1
@@ -130,7 +130,7 @@ static xMBFunctionHandler xFuncHandlers[CONFIG_MB_FUNC_HANDLERS_MAX] = {
|
||||
|
||||
/* ----------------------- Start implementation -----------------------------*/
|
||||
eMBErrorCode
|
||||
eMBInit( eMBMode eMode, uint8_t ucSlaveAddress, uint8_t ucPort, uint32_t ulBaudRate, eMBParity eParity )
|
||||
eMBInit( eMBMode eMode, uint8_t ucSlaveAddress, uint8_t ucPort, speed_t ulBaudRate, eMBParity eParity )
|
||||
{
|
||||
eMBErrorCode eStatus = MB_ENOERR;
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ void vMBPortSerialEnable(bool bEnableRx, bool bEnableTx)
|
||||
}
|
||||
}
|
||||
|
||||
bool xMBPortSerialInit(uint8_t ucPort, uint32_t ulBaudRate,
|
||||
bool xMBPortSerialInit(uint8_t ucPort, speed_t ulBaudRate,
|
||||
uint8_t ucDataBits, eMBParity eParity)
|
||||
{
|
||||
char szDevice[16];
|
||||
@@ -164,18 +164,20 @@ bool xMBPortSerialInit(uint8_t ucPort, uint32_t ulBaudRate,
|
||||
|
||||
if (bStatus)
|
||||
{
|
||||
/* Set the new baud using the (non-standard) BOTHER mechanism
|
||||
* supported by NuttX.
|
||||
*/
|
||||
|
||||
xNewTIO.c_ispeed = (speed_t)ulBaudRate;
|
||||
xNewTIO.c_ospeed = (speed_t)ulBaudRate;
|
||||
|
||||
/* NOTE: In NuttX, cfset[i|o]speed always return OK. Failures will
|
||||
* only be reported when tcsetattr() is called.
|
||||
/* Set the new baud. The following might be compatible with other
|
||||
* OSs for the following reason.
|
||||
*
|
||||
* (1) In NuttX, cfset[i|o]speed always return OK so failures will
|
||||
* really only be reported when tcsetattr() is called.
|
||||
* (2) NuttX does not support separate input and output speeds so it
|
||||
* is not necessary to call both cfsetispeed() and
|
||||
* cfsetospeed(), and
|
||||
* (3) In NuttX, the input value to cfiset[i|o]speed is not
|
||||
* encoded, but is the absolute baud value. The following might
|
||||
* not be
|
||||
*/
|
||||
|
||||
if (cfsetispeed(&xNewTIO, BOTHER) != 0 || cfsetospeed(&xNewTIO, BOTHER) != 0)
|
||||
if (cfsetispeed(&xNewTIO, ulBaudRate) != 0 /* || cfsetospeed(&xNewTIO, ulBaudRate) != 0 */)
|
||||
{
|
||||
vMBPortLog(MB_LOG_ERROR, "SER-INIT", "Can't set baud rate %ld for port %s: %d\n",
|
||||
ulBaudRate, szDevice, errno);
|
||||
|
||||
@@ -80,7 +80,7 @@ static volatile uint16_t usRcvBufferPos;
|
||||
|
||||
/* ----------------------- Start implementation -----------------------------*/
|
||||
eMBErrorCode
|
||||
eMBRTUInit( uint8_t ucSlaveAddress, uint8_t ucPort, uint32_t ulBaudRate, eMBParity eParity )
|
||||
eMBRTUInit( uint8_t ucSlaveAddress, uint8_t ucPort, speed_t ulBaudRate, eMBParity eParity )
|
||||
{
|
||||
eMBErrorCode eStatus = MB_ENOERR;
|
||||
uint32_t usTimerT35_50us;
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#ifdef __cplusplus
|
||||
PR_BEGIN_EXTERN_C
|
||||
#endif
|
||||
eMBErrorCode eMBRTUInit( uint8_t slaveAddress, uint8_t ucPort, uint32_t ulBaudRate,
|
||||
eMBErrorCode eMBRTUInit( uint8_t slaveAddress, uint8_t ucPort, speed_t ulBaudRate,
|
||||
eMBParity eParity );
|
||||
void eMBRTUStart( void );
|
||||
void eMBRTUStop( void );
|
||||
|
||||
Reference in New Issue
Block a user