GPS Device
Loading...
Searching...
No Matches
console.c File Reference

Console module implementation. More...

#include <stdbool.h>
#include "console.h"
#include "cbuf.h"
#include "common.h"
#include "err.h"
#include "stm32f401re.h"
#include "stm32f401re_gpio.h"
#include "stm32f401re_usart.h"
#include "cmd.h"
#include "configuration.h"
#include "log.h"
#include "init.h"
Include dependency graph for console.c:

Go to the source code of this file.

Classes

struct  internal_state_s
 Internal state of the SysTick driver. More...

Macros

#define CONSOLE_MODE_CMD   3
 ASCII control code used to enter and exit console mode (Ctrl+C).

Functions

ERR_te console_init (CONSOLE_HANDLE_ts *console_handle)
 Initializes the console subsystem.
ERR_te console_run (void)
 Runs the console state machine.
void usart1_irq_data_recv_callback (uint8_t data)
 USART RXNE interrupt callback. Writes the received byte into the USART receive buffer.

Variables

static uint8_t usart_cbuf_mem [CONFIG_CONSOLE_USART_CBUF_SIZE]
 Backing memory for the USART receive circular buffer.
static uint8_t console_cbuf_mem [CONFIG_CONSOLE_CBUF_SIZE]
 Backing memory for the console command accumulation buffer.
static struct internal_state_s internal_state
 Singleton instance of the console subsystem internal state.

Detailed Description

Console module implementation.

Author
github.com/Baksi675
Version
0.1
Date
2025-10-21

Definition in file console.c.

Macro Definition Documentation

◆ CONSOLE_MODE_CMD

#define CONSOLE_MODE_CMD   3

ASCII control code used to enter and exit console mode (Ctrl+C).

Definition at line 29 of file console.c.

Variable Documentation

◆ usart_cbuf_mem

uint8_t usart_cbuf_mem[CONFIG_CONSOLE_USART_CBUF_SIZE]
static

Backing memory for the USART receive circular buffer.

Written by the USART ISR callback and drained by console_run. Size is defined by CONFIG_CONSOLE_USART_CBUF_SIZE and must be a power of two.

Definition at line 39 of file console.c.

◆ console_cbuf_mem

uint8_t console_cbuf_mem[CONFIG_CONSOLE_CBUF_SIZE]
static

Backing memory for the console command accumulation buffer.

Accumulates echoed characters between console mode entry and the carriage return that triggers command execution. Size is defined by CONFIG_CONSOLE_CBUF_SIZE.

Definition at line 49 of file console.c.

◆ internal_state

struct internal_state_s internal_state
static
Initial value:
= {
.usart_data_recv_cbuf.ptr = usart_cbuf_mem,
.usart_data_recv_cbuf.size = sizeof(usart_cbuf_mem),
.usart_data_recv_cbuf.read_position = 0,
.usart_data_recv_cbuf.write_position = 0,
.console_cbuf.ptr = console_cbuf_mem,
.console_cbuf.size = sizeof(console_cbuf_mem),
.console_cbuf.read_position = 0,
.console_cbuf.write_position = 0,
.usart_instance = 0,
.console_mode = false,
}
static uint8_t usart_cbuf_mem[CONFIG_CONSOLE_USART_CBUF_SIZE]
Backing memory for the USART receive circular buffer.
Definition console.c:39
static uint8_t console_cbuf_mem[CONFIG_CONSOLE_CBUF_SIZE]
Backing memory for the console command accumulation buffer.
Definition console.c:49

Singleton instance of the console subsystem internal state.

Definition at line 73 of file console.c.

73 {
74 .usart_data_recv_cbuf.ptr = usart_cbuf_mem,
75 .usart_data_recv_cbuf.size = sizeof(usart_cbuf_mem),
76 .usart_data_recv_cbuf.read_position = 0,
77 .usart_data_recv_cbuf.write_position = 0,
78 .console_cbuf.ptr = console_cbuf_mem,
79 .console_cbuf.size = sizeof(console_cbuf_mem),
80 .console_cbuf.read_position = 0,
81 .console_cbuf.write_position = 0,
82 .usart_instance = 0,
83 .console_mode = false,
84};