2026-08-10 21:18:36 +08:00
|
|
|
|
#ifndef __FEED_SCALE_H
|
|
|
|
|
|
#define __FEED_SCALE_H
|
|
|
|
|
|
|
|
|
|
|
|
#include "main.h"
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD>Ͷι<CDB6><CEB9><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>Χ: 0 ~ 500.0 KG, <20>ڲ<EFBFBD><DAB2><EFBFBD> 0.1 KG Ϊ<><CEAA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> */
|
|
|
|
|
|
#define FEED_SCALE_ONCEWT_MIN 1 /* 0.1 KG */
|
|
|
|
|
|
#define FEED_SCALE_ONCEWT_MAX 5000 /* 500.0 KG */
|
|
|
|
|
|
#define FEED_SCALE_WEIGHT_MAX 5000 /* 500.0 KG */
|
|
|
|
|
|
|
2026-08-15 07:36:39 +08:00
|
|
|
|
/* <20><>Ʒ<EFBFBD><C6B7>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>л<EFBFBD><D0BB><EFBFBD>EEPROM(ƫ<><C6AB>172) <20><> 0/1<><31><EFBFBD>հ<EFBFBD>(0xFF) ʱ<><CAB1>
|
|
|
|
|
|
* main.h <EFBFBD><EFBFBD> PRODUCT_WITH_FEED_SCALE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* 1=<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ<EFBFBD><EFBFBD>Ͷ<EFBFBD>ϻ<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>Ͷι<EFBFBD><EFBFBD>
|
|
|
|
|
|
* 0=<EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD>feeding ָ<EFBFBD><EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD><EFBFBD>Ƽ̵<EFBFBD><EFBFBD><EFBFBD> 1<EFBFBD><EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SCALE <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>SCALE0/SCALE1 <EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD> */
|
|
|
|
|
|
extern uint8_t g_feed_scale_on;
|
|
|
|
|
|
void feed_scale_load_mode(void); /* app_init <20><><EFBFBD>ڵ<EFBFBD><DAB5>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>ز<EFBFBD>Ʒģʽ */
|
|
|
|
|
|
void feed_scale_set_mode(uint8_t on); /* д EEPROM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>Ч<EFBFBD><D0A7> */
|
|
|
|
|
|
|
|
|
|
|
|
#define FEED_SCALE_MODE_ADDR 172 /* EEPROM <20><>Ʒģʽ<C4A3>ֽڣ<D6BD>164~171 Ϊ<><CEAA><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD>壩 */
|
2026-08-10 21:18:36 +08:00
|
|
|
|
|
|
|
|
|
|
/* Ͷι״̬ */
|
|
|
|
|
|
typedef enum {
|
|
|
|
|
|
FEED_IDLE = 0, /* <20><><EFBFBD><EFBFBD> */
|
|
|
|
|
|
FEED_RUNNING, /* Ͷι<CDB6><CEB9>: <20>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>ڶ<EFBFBD>485 */
|
|
|
|
|
|
FEED_DONE, /* Ͷι<CDB6><CEB9><EFBFBD><EFBFBD> */
|
|
|
|
|
|
FEED_ERROR /* <20>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD>(485ʧ<35><CAA7>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>) */
|
|
|
|
|
|
} FeedScaleState;
|
|
|
|
|
|
|
|
|
|
|
|
/* ι<>ϳ<EFBFBD>ģ<EFBFBD><C4A3> API */
|
|
|
|
|
|
void feedScaleInit(void);
|
|
|
|
|
|
void feedScaleProcess(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD>/ֹͣͶι */
|
|
|
|
|
|
void feedScaleStart(uint16_t once_wt_100g);
|
|
|
|
|
|
void feedScaleStop(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD>/<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ͷι<CDB6><CEB9>(0.1KG <20><>λ)<29><><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA>־û<D6BE><C3BB><EFBFBD> EEPROM */
|
|
|
|
|
|
void feedScaleSetOnceWeight(uint16_t once_wt_100g);
|
|
|
|
|
|
uint16_t feedScaleGetOnceWeight(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><><EFBFBD>ó<EFBFBD>ȥƤ<C8A5><C6A4><EFBFBD><EFBFBD>(0.1KG <20><>λ)<29><><EFBFBD><EFBFBD><EFBFBD>־û<D6BE><C3BB><EFBFBD> EEPROM */
|
|
|
|
|
|
void feedScaleSetZero(uint16_t zero_100g);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><>ȡ<EFBFBD><C8A1>ǰ/<2F><><EFBFBD><EFBFBD>һ<EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0.1KG <20><>λ) */
|
|
|
|
|
|
uint16_t feedScaleGetWeight(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> 485 ԭʼë<CABC>أ<EFBFBD>δȥƤ<C8A5><C6A4>0.1KG <20><>λ<EFBFBD><CEBB> */
|
|
|
|
|
|
uint16_t feedScaleGetRawWeight(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><>ȡ<EFBFBD><C8A1>ǰȥƤ<C8A5><C6A4><EFBFBD><EFBFBD>(0.1KG <20><>λ) */
|
|
|
|
|
|
uint16_t feedScaleGetZero(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><>ȡͶι״̬ */
|
|
|
|
|
|
FeedScaleState feedScaleGetState(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* <20><>ȡ<EFBFBD>Ѽ<EFBFBD><D1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(0.1KG <20><>λ)<29><>Ͷι<CDB6><CEB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
|
|
|
|
|
|
uint16_t feedScaleGetReduced(void);
|
|
|
|
|
|
|
|
|
|
|
|
/* 485 <20><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD> 30s, Ͷι<CDB6><CEB9> 1s */
|
|
|
|
|
|
#define FEED_SCALE_QUERY_IDLE_MS 30000u
|
|
|
|
|
|
#define FEED_SCALE_QUERY_RUN_MS 1000u
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* __FEED_SCALE_H */
|