#ifndef HX711_h
#define HX711_h
- #define PD_SCK_PIN 5
+ #define PD_SCK_PIN GPIO_HX711_SCK
#define PD_SCK_SET_OUTPUT setup_gpio (PD_SCK_PIN, OUTPUT, PUD_OFF)
#define PD_SCK_SET_INPUT setup_gpio (PD_SCK_PIN, INPUT, PUD_OFF)
#define PD_SCK_SET_HIGH output_gpio(PD_SCK_PIN, HIGH)
#define PD_SCK_SET_LOW output_gpio(PD_SCK_PIN, LOW)
- #define DOUT_PIN 6
+ #define DOUT_PIN GPIO_HX711_DOUT
#define DOUT_READ input_gpio(DOUT_PIN)
#define DOUT_SET_INPUT setup_gpio (DOUT_PIN, INPUT, PUD_OFF)
#include <unistd.h>
#include "log.h"
-#include "led.h"
+#include "config.h"
#include "c_gpio.h"
int led_init(void){
- setup_gpio(LED_R, OUTPUT, PUD_OFF);
- setup_gpio(LED_Y, OUTPUT, PUD_OFF);
- setup_gpio(LED_B, OUTPUT, PUD_OFF);
+ setup_gpio(GPIO_LED_R, OUTPUT, PUD_OFF);
+ setup_gpio(GPIO_LED_Y, OUTPUT, PUD_OFF);
+ setup_gpio(GPIO_LED_B, OUTPUT, PUD_OFF);
return 0;
}
int led_deinit(void){
- setup_gpio(LED_R, INPUT, PUD_OFF);
- setup_gpio(LED_Y, INPUT, PUD_OFF);
- setup_gpio(LED_B, INPUT, PUD_OFF);
+ setup_gpio(GPIO_LED_R, INPUT, PUD_OFF);
+ setup_gpio(GPIO_LED_Y, INPUT, PUD_OFF);
+ setup_gpio(GPIO_LED_B, INPUT, PUD_OFF);
return 0;
}
void status_ready(void){
WHOAMI;
- output_gpio(LED_R, LOW);
- output_gpio(LED_Y, LOW);
- output_gpio(LED_B, HIGH);
+ output_gpio(GPIO_LED_R, LOW);
+ output_gpio(GPIO_LED_Y, LOW);
+ output_gpio(GPIO_LED_B, HIGH);
}
void status_busy(void){
WHOAMI;
- output_gpio(LED_R, LOW);
- output_gpio(LED_Y, HIGH);
- output_gpio(LED_B, LOW);
+ output_gpio(GPIO_LED_R, LOW);
+ output_gpio(GPIO_LED_Y, HIGH);
+ output_gpio(GPIO_LED_B, LOW);
}
void status_error(void){
WHOAMI;
- output_gpio(LED_R, HIGH);
- output_gpio(LED_Y, LOW);
- output_gpio(LED_B, LOW);
+ output_gpio(GPIO_LED_R, HIGH);
+ output_gpio(GPIO_LED_Y, LOW);
+ output_gpio(GPIO_LED_B, LOW);
}
#include <time.h>
#include <stdio.h>
+#include "config.h"
#ifdef HAVE_HX711
#include <stdint.h>
int mgmt_start(int ml){
HX711_power_up();
HX711_tare(3);
- stop_time = time(NULL) + 10;
+ stop_time = time(NULL) + MGMT_WEIGHT_GAIN_TIME;
start_weight = curweight();
stop_weight = start_weight + ml;
return 0;
int res = MGMT_CONTINUE;
double cw = curweight();
if (cw >= stop_weight) res = MGMT_NORMAL_STOP; else
- if (time(NULL) >= stop_time && MAX(cw, start_weight) - MIN(cw, start_weight) < 5) res = MGMT_ABORT;
+ if (time(NULL) >= stop_time && MAX(cw, start_weight) - MIN(cw, start_weight) < MGMT_WEIGHT_GAIN) res = MGMT_ABORT;
return res;
}