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] | action | action to perform
  [in] | repetition | how many times to perform the action
  [in] | perform | the 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] | argument | actions 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] | argument | argument 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] | argument | in 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] | argument | no 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] | argument | string 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] | prefix | terminal prompt prefix
  [in] | line | terminal 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] | value | value 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,
.setup = &busvoodoo_rs485_setup,
.commands = busvoodoo_rs485_commands,
.commands_nb = LENGTH(busvoodoo_rs485_commands),
.exit = &busvoodoo_rs485_exit,
}
busvoodoo_rs485_commands
static const struct menu_command_t busvoodoo_rs485_commands[]
RS-485 menu commands.
Definition: busvoodoo_rs485.c:597
busvoodoo_rs485_setup
static bool busvoodoo_rs485_setup(char **prefix, const char *line)
setup RS-485 mode
Definition: busvoodoo_rs485.c:68
LENGTH
#define LENGTH(x)
get the length of an array
Definition: global.h:26
busvoodoo_rs485_exit
static void busvoodoo_rs485_exit(void)
exit RS-485 mode
Definition: busvoodoo_rs485.c:203

RS-485 mode interface definition.

Definition at line 640 of file busvoodoo_rs485.c.