mirror of https://github.com/rusefi/bldc.git
Added support for second AUX port
This commit is contained in:
parent
015a657cc9
commit
d61fc474fc
|
@ -231,6 +231,12 @@
|
|||
#ifndef AUX_OFF
|
||||
#define AUX_OFF()
|
||||
#endif
|
||||
#ifndef AUX2_ON
|
||||
#define AUX2_ON()
|
||||
#endif
|
||||
#ifndef AUX2_OFF
|
||||
#define AUX2_OFF()
|
||||
#endif
|
||||
|
||||
#ifndef PHASE_FILTER_ON
|
||||
#define PHASE_FILTER_ON()
|
||||
|
|
|
@ -88,11 +88,15 @@ void hw_init_gpio(void) {
|
|||
|
||||
CURRENT_FILTER_OFF();
|
||||
|
||||
// AUX pin
|
||||
// AUX pins
|
||||
AUX_OFF();
|
||||
palSetPadMode(AUX_GPIO, AUX_PIN,
|
||||
PAL_MODE_OUTPUT_PUSHPULL |
|
||||
PAL_STM32_OSPEED_HIGHEST);
|
||||
AUX2_OFF();
|
||||
palSetPadMode(AUX2_GPIO, AUX2_PIN,
|
||||
PAL_MODE_OUTPUT_PUSHPULL |
|
||||
PAL_STM32_OSPEED_HIGHEST);
|
||||
|
||||
// Sensor port voltage
|
||||
SENSOR_PORT_3V3();
|
||||
|
|
|
@ -55,6 +55,10 @@
|
|||
#define AUX_PIN 12
|
||||
#define AUX_ON() palSetPad(AUX_GPIO, AUX_PIN)
|
||||
#define AUX_OFF() palClearPad(AUX_GPIO, AUX_PIN)
|
||||
#define AUX2_GPIO GPIOC
|
||||
#define AUX2_PIN 13
|
||||
#define AUX2_ON() palSetPad(AUX2_GPIO, AUX2_PIN)
|
||||
#define AUX2_OFF() palClearPad(AUX2_GPIO, AUX2_PIN)
|
||||
|
||||
#define CURRENT_FILTER_GPIO GPIOD
|
||||
#define CURRENT_FILTER_PIN 2
|
||||
|
|
|
@ -247,6 +247,30 @@ static lbm_value ext_secs_since(lbm_value *args, lbm_uint argn) {
|
|||
return lbm_enc_F(UTILS_AGE_S(lbm_dec_as_u(args[0])));
|
||||
}
|
||||
|
||||
static lbm_value ext_set_aux(lbm_value *args, lbm_uint argn) {
|
||||
CHECK_ARGN_NUMBER(2);
|
||||
|
||||
int port = lbm_dec_as_u(args[0]);
|
||||
bool on = lbm_dec_as_u(args[1]);
|
||||
if (port == 1) {
|
||||
if (on) {
|
||||
AUX_ON();
|
||||
} else {
|
||||
AUX_OFF();
|
||||
}
|
||||
return lbm_enc_sym(SYM_TRUE);
|
||||
} else if (port == 2) {
|
||||
if (on) {
|
||||
AUX2_ON();
|
||||
} else {
|
||||
AUX2_OFF();
|
||||
}
|
||||
return lbm_enc_sym(SYM_TRUE);
|
||||
}
|
||||
|
||||
return lbm_enc_sym(SYM_EERROR);
|
||||
}
|
||||
|
||||
// Motor set commands
|
||||
|
||||
static lbm_value ext_set_current(lbm_value *args, lbm_uint argn) {
|
||||
|
@ -476,6 +500,7 @@ void lispif_load_vesc_extensions(void) {
|
|||
lbm_add_extension("get-adc", ext_get_adc);
|
||||
lbm_add_extension("systime", ext_systime);
|
||||
lbm_add_extension("secs-since", ext_secs_since);
|
||||
lbm_add_extension("set-aux", ext_set_aux);
|
||||
|
||||
// Motor set commands
|
||||
lbm_add_extension("set-current", ext_set_current);
|
||||
|
|
|
@ -50,8 +50,9 @@ Item {
|
|||
// mLogReader.openLogFile("example_control_servo_from_encoder.lisp")
|
||||
// mLogReader.openLogFile("example_control_servo_from_duty.lisp")
|
||||
// mLogReader.openLogFile("example_print_bms_data.lisp")
|
||||
mLogReader.openLogFile("example_can_pos_follow.lisp")
|
||||
// mLogReader.openLogFile("example_can_pos_follow.lisp")
|
||||
// mLogReader.openLogFile("example_speed_test.lisp")
|
||||
mLogReader.openLogFile("example_aux.lisp")
|
||||
//
|
||||
// mLogReader.openLogFile("test_math.lisp")
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
(define set-auxtime (lambda (port state time)
|
||||
(progn
|
||||
(set-aux port state)
|
||||
(define aux-now (list port state time))
|
||||
(yield (* 1000 time))
|
||||
)))
|
||||
|
||||
(let ((f (lambda ()
|
||||
(progn
|
||||
(set-auxtime 1 1 1500)
|
||||
(set-auxtime 1 0 500)
|
||||
(set-auxtime 2 1 1500)
|
||||
(set-auxtime 2 0 500)
|
||||
(yield 1000000)
|
||||
(f)
|
||||
)))) (f))
|
||||
|
Loading…
Reference in New Issue