lowermachine/source/valve.h
Miaow 77dfccba79 feat: 添加队列空提示
1. 当存储上位机的图像数据队列为空时,将会给上位机发送报错信息
2. README中添加了喷阀工作原理
3. 添加了部署步骤说明doc/deploy.md
2023-02-08 20:53:53 +08:00

44 lines
1.2 KiB
C

/**
* @file valve.h
* @brief Operate the valveboard with Linux application
* @details Call valve_init() paired with valve_deinit() as their names imply, valve_send() can be executed several times to operate up to 6 valveboards between valve_init() and valve_deinit()
* @mainpage github.com/NanjingForestryUniversity
* @author miaow
* @email 3703781@qq.com
* @version v0.9.0
* @date 2021/12/25 merry christmas
*/
#ifndef __VALVE_INIT_H
#define __VALVE_INIT_H
#include <gpio_common.h>
typedef enum
{
VALVE_SEN = GPIO_PINDEF_TO_INDEX(GPO1),
VALVE_SCLK = GPIO_PINDEF_TO_INDEX(GPO2),
VALVE_SDATA_1 = GPIO_PINDEF_TO_INDEX(GPO0),
VALVE_SDATA_2 = GPIO_PINDEF_TO_INDEX(GPO3),
VALVE_SDATA_3 = GPIO_PINDEF_TO_INDEX(GPO4),
VALVE_SDATA_4 = GPIO_PINDEF_TO_INDEX(GPO5),
VALVE_SDATA_5 = GPIO_PINDEF_TO_INDEX(GPO6),
VALVE_SDATA_6 = GPIO_PINDEF_TO_INDEX(GPO7)
} valve_pin_enum_t;
typedef struct
{
uint64_t valvedata_1;
uint64_t valvedata_2;
uint64_t valvedata_3;
uint64_t valvedata_4;
uint64_t valvedata_5;
uint64_t valvedata_6;
} valvedata_t;
#define SCLK_FREQUENCE_KHZ 10000
int valve_init(void);
int valve_send(uint64_t *valve_data);
int valve_deinit(void);
int valve_sendmsg(valvedata_t *valve_data);
#endif