| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- #ifndef _SOFT_SEED_WEIGHT_H
- #define _SOFT_SEED_WEIGHT_H
- #include "common.h"
- typedef enum{
- WEIGHT_DEFAULT = 0,
- WEIGHT_NORMAL = 1, //普通称重
- WEIGHT_LIFT = 2, //吊运称重
- WEIGHT_FPLATE = 3, //前板
- WEIGHT_TRANFER = 4, //转接板
- }WEIGHT;
- extern uint8_t weight_type;
- typedef enum{
- SPREAD_DEFAULT = 0,
- SPREAD_NORMAL = 1, //普通播撒
- SPREAD_JIAOLONG = 2, //搅笼播撒
- }SPREAD;
- extern uint8_t spread_type;
- //EFT前板
- #define CAN_EFT_FPLATE (0x8876)
- #define CAN_EFT_FPLATE_ACK (0x8877)
- //Z70吊运称重
- #define CAN_EFT70_WEIGHT (0x88BA)
- #define CAN_EFT70_WEIGHT_ACK (0x88BC)
- #define Cal_Remove_Peel 20
- #define Cal_Weight 21
- #define Cal_Seed_Back 23
- //EFT播撒器
- #define CAN_EFT_SPREAD (0x8851)
- #define CAN_EFT_VERSION (0x8853)
- //
- #define SEND_EFT_INFO (0x88F2)
- //
- //断料记
- #define CAN_MIMO_LACKLOSS (0x88F1)
- #define Z70_DEVICE (0x7010)
- #define Z70_DEVICE_ACK (0x7011)
- #pragma pack(1)
- typedef struct
- {
- uint8_t work_status; // 工作状态
- uint8_t warn_status; // 报警状态
- uint8_t output; // 输出信号源
- uint16_t can_rate; // CAN波特率
- uint8_t reserve; // 保留
- uint8_t warn_switch; // 报警开关
- uint8_t recv_conut; // 计数
- int serial_num; // 厂家编号
- } seed;
- #pragma pack()
- extern seed seed_vkinfo;
- #pragma pack(1)
- typedef struct {
- uint8_t work_status; //工作状态
- uint8_t warn_status; //报警状态 bit0: 1断药
- bool can_enable; //can使能
- uint16_t capacitance; //电容
- uint8_t electricity; //电流
- char temperature; //温度
- uint8_t func_status; //功能状态
- uint8_t num; //循环次数
- uint16_t weight; //重量
- uint8_t cal_status; //校准状态
- uint8_t valve_angel; //舵机角度 0-100
- uint8_t speed_rpm; //转盘转速 *10
- uint8_t enginearm_lock;//机臂锁
- uint8_t last_arm_lock; //发送给FCU的判断标志
- uint8_t pump1_rpm; //水泵1转速
- uint8_t pump2_rpm; //水泵2转速
- uint8_t cent1_rpm; //喷头1转速
- uint8_t cent2_rpm; //喷头1转速
- uint64_t watering_warn_status; //水泵喷头报警状态
- uint16_t seed_k[3]; //称重传感器K值
- char version[2];
- char sn[10];
- }eft;
- #pragma pack()
- extern eft eft_info;
- #pragma pack(1)
- typedef struct
- {
- uint8_t arm1:1;
- uint8_t arm2:1;
- uint8_t arm3:1;
- uint8_t arm4:1;
- uint8_t reserve1:4;
- uint16_t weight;
- uint8_t Rled_tempture;
- uint8_t Lled_tempture;
- uint8_t Rled_status:1;
- uint8_t Lled_status:1;
- uint8_t Rled_switch:1;
- uint8_t Lled_switch:1;
- uint8_t reserve2:4;
- uint8_t bms_plug_tempture;
- uint8_t bms_battery_tempture;
- }eft_fplate;
- #pragma pack()
- extern eft_fplate fplate;
- typedef struct
- {
- uint8_t output_mode;
- short pwm_turntable;
- short pwm_valve;
- }Spread_par;
- extern Spread_par spread_par;
- #pragma pack(1)
- typedef struct
- {
- uint8_t sensor_status; // 工作状态
- uint8_t warn_status; // 报警状态
- uint16_t weight_rate; // 重量变化率
- int weight; // 重量
- int serial_num; // 厂家编号
- uint16_t senor_k[4]; // 称重传感器K值
- uint8_t mode; // 称重模式 1播撒 2喷洒
- uint16_t dose_rate; // 最高下药率 kg/min
- } weight;
- #pragma pack()
- extern weight weight_vkinfo;
- extern uint16_t last_light_brightness;
- typedef struct
- {
- uint16_t distance;
- uint16_t strength;
- uint8_t status; // 0满 1缺
- uint16_t cal_distance;
- }_mimo_lackloss;
- extern _mimo_lackloss mimo_lackloss;
- extern bool Z70_LiftingWeight_exist;
- void Eft_Spread_And_Mimolack_recieved_hookfuction(uint32_t CanID, uint8_t data[], uint8_t len);
- void can_recv_eft_front_plate(uint32_t CanID, uint8_t data[], uint8_t len);
- void can_sendmsg_eft(void);
- void can_sendmsg_VK(void);
- #endif
|