CuVoodoo STM32F1 firmware template
Macros | Enumerations | Functions | Variables
busvoodoo_rs485.c File Reference

BusVoodoo RS-485 mode (code) More...

Go to the source code of this file.

Macros

#define BUSVOODOO_RS485_USART   2
 USART peripheral.
 

Enumerations

enum  busvoodoo_rs485_setting_t {
  BUSVOODOO_RS485_SETTING_NONE, BUSVOODOO_RS485_SETTING_BAUDRATE, BUSVOODOO_RS485_SETTING_DATABITS, BUSVOODOO_RS485_SETTING_PARITY,
  BUSVOODOO_RS485_SETTING_STOPBITS, BUSVOODOO_RS485_SETTING_DONE
}
 mode setup stage
 

Functions

static bool busvoodoo_rs485_setup (char **prefix, const char *line)
 setup RS-485 mode More...
 
static void busvoodoo_rs485_exit (void)
 exit RS-485 mode
 
static void busvoodoo_rs485_write (uint16_t value)
 write to RS-485 More...
 
static void busvoodoo_rs485_read (void)
 read from RS-485
 
static bool busvoodoo_rs485_action (const char *action, uint32_t repetition, bool perform)
 perform RS-485 action More...
 
static void busvoodoo_rs485_command_actions (void *argument)
 command to perform actions More...
 
static void busvoodoo_rs485_command_transmit (void *argument)
 command to transmit a string More...
 
static void busvoodoo_rs485_command_receive (void *argument)
 command to receive data More...
 
static void busvoodoo_rs485_command_transceive (void *argument)
 command to transmit and receive data More...
 
static void busvoodoo_rs485_command_error (void *argument)
 command to verify incoming transmission for error More...
 

Variables

static enum busvoodoo_rs485_setting_t busvoodoo_rs485_setting = BUSVOODOO_RS485_SETTING_NONE
 current mode setup stage
 
static uint32_t busvoodoo_rs485_baudrate = 115200
 RS-485 baud rate (in bps)
 
static uint8_t busvoodoo_rs485_databits = 8
 RS-485 data bits.
 
static uint32_t busvoodoo_rs485_parity = USART_PARITY_NONE
 RS-485 parity setting.
 
static uint32_t busvoodoo_rs485_stopbits = USART_STOPBITS_1
 RS-485 stop bits setting.
 
static const struct menu_command_t busvoodoo_rs485_commands []
 RS-485 menu commands.
 
const struct busvoodoo_mode_t busvoodoo_rs485_mode
 RS-485 mode interface definition. More...
 

Detailed Description

BusVoodoo RS-485 mode (code)

Author
King Kévin kingk.nosp@m.evin.nosp@m.@cuvo.nosp@m.odoo.nosp@m..info
Date
2018
Note
peripherals used: USART USART peripheral used for RS-485/422 communication, using a RS-485/422 transceiver

Definition in file busvoodoo_rs485.c.

Function Documentation

◆ busvoodoo_rs485_action()

static bool busvoodoo_rs485_action ( const char *  action,
uint32_t  repetition,
bool  perform 
)
static

perform RS-485 action

Parameters
[in]actionaction to perform
[in]repetitionhow many times to perform the action
[in]performthe action (true) or just check it (false)
Returns
true if the action has been performed, false if it is malformed

Definition at line 308 of file busvoodoo_rs485.c.

◆ busvoodoo_rs485_command_actions()

static void busvoodoo_rs485_command_actions ( void *  argument)
static

command to perform actions

Parameters
[in]argumentactions to perform

Definition at line 409 of file busvoodoo_rs485.c.

◆ busvoodoo_rs485_command_error()

static void busvoodoo_rs485_command_error ( void *  argument)
static

command to verify incoming transmission for error

Parameters
[in]argumentargument not required

Definition at line 586 of file busvoodoo_rs485.c.

◆ busvoodoo_rs485_command_receive()

static void busvoodoo_rs485_command_receive ( void *  argument)
static

command to receive data

Parameters
[in]argumentin which format to display

Definition at line 474 of file busvoodoo_rs485.c.

◆ busvoodoo_rs485_command_transceive()

static void busvoodoo_rs485_command_transceive ( void *  argument)
static

command to transmit and receive data

Parameters
[in]argumentno argument required

Definition at line 541 of file busvoodoo_rs485.c.

◆ busvoodoo_rs485_command_transmit()

static void busvoodoo_rs485_command_transmit ( void *  argument)
static

command to transmit a string

Parameters
[in]argumentstring to transmit (CR+LF when none provided)

Definition at line 445 of file busvoodoo_rs485.c.

◆ busvoodoo_rs485_setup()

static bool busvoodoo_rs485_setup ( char **  prefix,
const char *  line 
)
static

setup RS-485 mode

Parameters
[out]prefixterminal prompt prefix
[in]lineterminal prompt line to configure mode
Returns
if setup is complete

Definition at line 68 of file busvoodoo_rs485.c.

◆ busvoodoo_rs485_write()

static void busvoodoo_rs485_write ( uint16_t  value)
static

write to RS-485

Parameters
[in]valuevalue to write

Definition at line 216 of file busvoodoo_rs485.c.

Variable Documentation

◆ busvoodoo_rs485_mode

const struct busvoodoo_mode_t busvoodoo_rs485_mode
Initial value:
= {
.name = "rs485",
.description = "Recommended Standard 485/422",
.full_only = true,
}
static const struct menu_command_t busvoodoo_rs485_commands[]
RS-485 menu commands.
static bool busvoodoo_rs485_setup(char **prefix, const char *line)
setup RS-485 mode
#define LENGTH(x)
get the length of an array
Definition: global.h:26
static void busvoodoo_rs485_exit(void)
exit RS-485 mode

RS-485 mode interface definition.

Definition at line 640 of file busvoodoo_rs485.c.