Files
coder_stm32f1/source/dev/dev_flash.h
ranchuan 2141db1f2f V0.04
修改方案结构体为节约存储空间版本,与之前的updata软件不兼容
    修改打标时间为5s
    打标结束时亮绿灯
2023-11-14 09:25:42 +08:00

156 lines
2.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef dev_flash_h__
#define dev_flash_h__
#include "stdint.h"
__packed
typedef struct{
uint32_t file_size;//文件长度,不包括文件名
char name[120];
int used; // 初始值为0xffffffff每使用一次添加一个0
}flash_file;
#define FLASH_FILE_HEAD_SIZE 128
int flash_erase_param(void);
int flash_erase_app1(void);
int flash_erase_app2(void);
int flash_erase_slave(void);
int flash_erase_scheme(void);
int flash_erase_lua(void);
uint32_t *flash_get_param(void);
//uint32_t *flash_get_app1(void);
uint32_t *flash_get_app2(void);
uint32_t *flash_get_slave(void);
uint32_t *flash_get_scheme(void);
uint32_t *flash_get_lua(void);
int flash_write(uint8_t *addr,const uint8_t *data,int len);
int flash_operate_end(void);
__packed
typedef struct{
uint32_t size;
char pack_time[20];
uint32_t crc;
uint8_t local_ip[4];
uint8_t host_ip[4];
int host_port;
char host_if[8];
}rom_head;
#define ROM_HEAD_SIZE 128
uint8_t *flash_get_rom(rom_head **head);
int flash_updata_app(uint8_t *rom,uint32_t size);
// 系统参数
__packed
typedef struct{
char pack_time[20];// 打包时间
char host_if[8];// 主机接口
char device_type[12];// 设备类型 ,批检仪还是赋码仪
uint8_t mac[8];// mac地址
uint8_t local_ip[4];// 本机ip地址
uint8_t host_ip[4];// 主机ip地址
int host_port;// 主机端口
int local_cmd_port;// 本机命令端口
int host_log_port;// 主机log端口
int local_id;// 本机识别号
uint8_t host_log_ip[4];// 主机logip
int uartbsp;// 串口4的波特率
int coder_ret_mode;// 注码指令返回格式
int slave_addr_start;// 小板起始地址
int moter_max_count;// 电机最大步数
}sys_param_def;
int flash_save_param(sys_param_def *par);
const sys_param_def *sys_param(void);
#if 1
__packed
typedef struct{
uint16_t max;
uint16_t min;
uint8_t err;
}scheme_range_def;
__packed
typedef struct
{
uint8_t taskid;
uint8_t taskindex;
uint8_t item_num;
uint8_t err;
scheme_range_def range[16];
}scheme_task_def;
#else
__packed
typedef struct{
uint32_t max;
uint32_t min;
uint32_t err;
}scheme_range_def;
__packed
typedef struct
{
uint32_t taskid;
uint32_t taskindex;
uint32_t item_num;
uint32_t err;
scheme_range_def range[16];
}scheme_task_def;
#endif
__packed
typedef struct{
uint8_t err;
uint8_t suberr_num;
uint8_t suberr[30];
}marerr_def;
// 方案参数
__packed
typedef struct{
uint8_t slave_data[2048];
uint32_t plan_id;
uint32_t timeout_m;
uint32_t task_num;
uint32_t marerr_num;
marerr_def marerr[21];
scheme_task_def task[0];
}scheme_def;
const scheme_def *check_scheme(void);
#endif