Basic Framework

This commit is contained in:
2025-11-23 21:32:56 -08:00
parent c09bf4333a
commit 64418d14a2
4 changed files with 466 additions and 0 deletions

48
app_tasks.h Normal file
View File

@@ -0,0 +1,48 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : app_tasks.h
* @brief : Header for ModTOS (Modbus RTU slave task).
*
* Declares core symbols for the Modbus driver running in FreeRTOS context.
* Author: Scott Leonard
* License: Unlicense
******************************************************************************
*/
/* USER CODE END Header */
#ifndef __APP_TASKS_H
#define __APP_TASKS_H
#ifdef __cplusplus
extern "C" {
#endif
#include "main.h"
#include "cmsis_os.h"
#include <stdint.h>
/* Shared buffers and register table */
extern uint8_t request_frame[];
extern uint8_t response_frame[];
extern uint16_t modbus_table[];
/* Task entry point */
void app_task_Modbus(void);
/* Core Modbus driver functions */
void rs485_dir_tx(void);
void rs485_dir_rx(void);
uint16_t calculate_modbus_crc(uint8_t *data, uint16_t length);
void send_modbus_data(uint8_t *data, int size);
void modbus_exception(uint8_t exception_code);
uint8_t table_read(void);
uint8_t table_write(void);
void process_modbus_message(uint16_t size);
void init_modbus_system(void);
#ifdef __cplusplus
}
#endif
#endif /* __APP_TASKS_H */