From cb158d213ccecb84c16e40a6f1a41f5f5929389f Mon Sep 17 00:00:00 2001 From: tkl Date: Mon, 22 Aug 2016 21:56:12 +0200 Subject: [PATCH 01/18] fix engine def (l/r missmatch) --- source/application/include/engines.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/application/include/engines.h b/source/application/include/engines.h index 8957632..b0db92c 100644 --- a/source/application/include/engines.h +++ b/source/application/include/engines.h @@ -14,23 +14,23 @@ struct engine_ctrl { }; static struct engine_ctrl right_forward = { - .pwm = &pwm_2, - .enable = &gpio_c0, -}; - -static struct engine_ctrl right_backward = { - .pwm = &pwm_1, - .enable = &gpio_c1, -}; - -static struct engine_ctrl left_forward = { .pwm = &pwm_4, .enable = &gpio_c2, }; -static struct engine_ctrl left_backward = { +static struct engine_ctrl right_backward = { .pwm = &pwm_3, .enable = &gpio_c3, }; +static struct engine_ctrl left_forward = { + .pwm = &pwm_2, + .enable = &gpio_c0, +}; + +static struct engine_ctrl left_backward = { + .pwm = &pwm_1, + .enable = &gpio_c1, +}; + #endif /* SOURCE_APPLICATION_INCLUDE_ENGINES_H_ */ From 64519e5c4b20ca05aaa8ce5f808f8481543bd0f9 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Sat, 27 Aug 2016 11:58:44 +0200 Subject: [PATCH 02/18] engine definitions and directions corrected --- source/application/drive_ctrl.c | 8 ++++---- source/application/include/engines.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/source/application/drive_ctrl.c b/source/application/drive_ctrl.c index c232a1d..7acc498 100644 --- a/source/application/drive_ctrl.c +++ b/source/application/drive_ctrl.c @@ -96,8 +96,8 @@ int drive_ctrl_set_speed_left(int speed_percent) { unsigned int front_speed = calc_speed_front(speed_percent); unsigned int back_speed = calc_speed_back(speed_percent); - int ret = drv_ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); - ret |= drv_ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); + int ret = drv_ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); + ret |= drv_ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); return ret; } @@ -106,8 +106,8 @@ int drive_ctrl_set_speed_right(int speed_percent) { unsigned int front_speed = calc_speed_front(speed_percent); unsigned int back_speed = calc_speed_back(speed_percent); - int ret = drv_ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); - ret |= drv_ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); + int ret = drv_ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); + ret |= drv_ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); return ret; } diff --git a/source/application/include/engines.h b/source/application/include/engines.h index b0db92c..6a955ed 100644 --- a/source/application/include/engines.h +++ b/source/application/include/engines.h @@ -13,7 +13,7 @@ struct engine_ctrl { const struct driver *enable; }; -static struct engine_ctrl right_forward = { +static struct engine_ctrl left_forward = { .pwm = &pwm_4, .enable = &gpio_c2, }; @@ -23,7 +23,7 @@ static struct engine_ctrl right_backward = { .enable = &gpio_c3, }; -static struct engine_ctrl left_forward = { +static struct engine_ctrl right_forward = { .pwm = &pwm_2, .enable = &gpio_c0, }; From 1466216ac6914f4d20246c396ad4bb0c88753092 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Sun, 28 Aug 2016 11:22:00 +0200 Subject: [PATCH 03/18] acceleration behaviour reproduced --- source/application/drive_ctrl.c | 34 +++++++- source/application/include/drive_ctrl.h | 8 +- source/application/shell_commands.c | 110 ++++++++++++++++++------ 3 files changed, 119 insertions(+), 33 deletions(-) diff --git a/source/application/drive_ctrl.c b/source/application/drive_ctrl.c index 7acc498..421f18b 100644 --- a/source/application/drive_ctrl.c +++ b/source/application/drive_ctrl.c @@ -21,6 +21,8 @@ struct drive_ctrl { }; struct drive_ctrl_object { + unsigned int target_speed; + unsigned int turn_speed; unsigned int current_speed; }; @@ -32,7 +34,9 @@ static struct drive_ctrl drive_ctrl = { }; static struct drive_ctrl_object drive_ctrl_object = { - .current_speed = 50, /* % */ + .target_speed = 80, /* % */ + .turn_speed = 40, + .current_speed = 0, /* % */ }; int drive_ctrl_init(void) @@ -112,14 +116,38 @@ int drive_ctrl_set_speed_right(int speed_percent) return ret; } -int drive_ctrl_set_speed_value(int speed_percent) +int drive_ctrl_set_target_speed_value(int speed_percent) +{ + drive_ctrl_object.target_speed = speed_percent; + + return 0; +} + +int drive_ctrl_get_target_speed_value(void) +{ + return drive_ctrl_object.target_speed; +} + +int drive_ctrl_set_current_speed_value(int speed_percent) { drive_ctrl_object.current_speed = speed_percent; return 0; } -int drive_ctrl_get_speed_value(void) +int drive_ctrl_get_current_speed_value(void) { return drive_ctrl_object.current_speed; } + +int drive_ctrl_set_turn_speed_value(int speed_percent) +{ + drive_ctrl_object.turn_speed = speed_percent; + + return 0; +} + +int drive_ctrl_get_turn_speed_value(void) +{ + return drive_ctrl_object.turn_speed; +} diff --git a/source/application/include/drive_ctrl.h b/source/application/include/drive_ctrl.h index f499a5b..2672ecc 100644 --- a/source/application/include/drive_ctrl.h +++ b/source/application/include/drive_ctrl.h @@ -12,8 +12,12 @@ int drive_ctrl_init(void); int drive_ctrl_set_speed_left(int speed_percent); int drive_ctrl_set_speed_right(int speed_percent); -int drive_ctrl_set_speed_value(int speed_percent); -int drive_ctrl_get_speed_value(void); +int drive_ctrl_set_target_speed_value(int speed_percent); +int drive_ctrl_get_target_speed_value(void); +int drive_ctrl_set_current_speed_value(int speed_percent); +int drive_ctrl_get_current_speed_value(void); +int drive_ctrl_set_turn_speed_value(int speed_percent); +int drive_ctrl_get_turn_speed_value(void); #endif /* SOURCE_APPLICATION_INCLUDE_DRIVE_CTRL_H_ */ diff --git a/source/application/shell_commands.c b/source/application/shell_commands.c index 0cb89f8..bb57655 100644 --- a/source/application/shell_commands.c +++ b/source/application/shell_commands.c @@ -6,10 +6,15 @@ */ #include #include +#include +#include #include "list.h" #include "driver.h" #include "shell.h" +#include "queue.h" +#include "stack.h" +#include "kernel.h" #include "drive_ctrl.h" #include "version.h" @@ -86,31 +91,35 @@ int shell_commands_init(void) static void *drive_turn_right_cb(const char *param) { - int speed = drive_ctrl_get_speed_value(); - drive_ctrl_set_speed_left(abs(speed)); - if(speed > 0) - speed *= -1; - drive_ctrl_set_speed_right(speed); + drive_halt_cb(NULL); + int turn_speed = drive_ctrl_get_turn_speed_value(); + for(int i = 0; i < turn_speed; i++) { + drive_ctrl_set_speed_left(i); + drive_ctrl_set_speed_right(-1 * i); + sleep_ms(10); + } return NULL; } static void *drive_turn_left_cb(const char *param) { - int speed = drive_ctrl_get_speed_value(); - drive_ctrl_set_speed_right(abs(speed)); - if(speed > 0) - speed *= -1; - drive_ctrl_set_speed_left(speed); + drive_halt_cb(NULL); + int turn_speed = drive_ctrl_get_turn_speed_value(); + for(int i = 0; i < turn_speed; i++) { + drive_ctrl_set_speed_right(i); + drive_ctrl_set_speed_left(-1 * i); + sleep_ms(10); + } return NULL; } static void *drive_boost_cb(const char *param) { - int speed = drive_ctrl_get_speed_value(); + int speed = drive_ctrl_get_target_speed_value(); speed += 10; - drive_ctrl_set_speed_value(speed); + drive_ctrl_set_target_speed_value(speed); drive_ctrl_set_speed_left(speed); drive_ctrl_set_speed_right(speed); @@ -119,9 +128,9 @@ static void *drive_boost_cb(const char *param) static void *drive_retard_cb(const char *param) { - int speed = drive_ctrl_get_speed_value(); + int speed = drive_ctrl_get_target_speed_value(); speed -= 10; - drive_ctrl_set_speed_value(speed); + drive_ctrl_set_target_speed_value(speed); drive_ctrl_set_speed_left(speed); drive_ctrl_set_speed_right(speed); @@ -130,32 +139,77 @@ static void *drive_retard_cb(const char *param) static void *drive_halt_cb(const char *param) { - drive_ctrl_set_speed_left(0); - drive_ctrl_set_speed_right(0); + int current_speed = drive_ctrl_get_current_speed_value(); + if(current_speed > 0) { + for(int i = current_speed; i > 0; i--) { + drive_ctrl_set_current_speed_value(i); + drive_ctrl_set_speed_left(i); + drive_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + else { + for(int i = current_speed; i < 0; i++) { + drive_ctrl_set_current_speed_value(i); + drive_ctrl_set_speed_left(i); + drive_ctrl_set_speed_right(i); + sleep_ms(10); + } + } return NULL; } static void *drive_forward_cb(const char *param) { - int speed = drive_ctrl_get_speed_value(); - if(speed < 0) - speed = abs(speed); - drive_ctrl_set_speed_value(speed); - drive_ctrl_set_speed_left(speed); - drive_ctrl_set_speed_right(speed); + int target_speed = drive_ctrl_get_target_speed_value(); + int current_speed = drive_ctrl_get_current_speed_value(); + if(target_speed < 0) + target_speed = abs(target_speed); + drive_ctrl_set_target_speed_value(target_speed); + if(current_speed < target_speed) { + for(int i = current_speed; i < target_speed; i++) { + drive_ctrl_set_current_speed_value(i); + drive_ctrl_set_speed_left(i); + drive_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + else { + for(int i = current_speed; i > target_speed; i--) { + drive_ctrl_set_current_speed_value(i); + drive_ctrl_set_speed_left(i); + drive_ctrl_set_speed_right(i); + sleep_ms(10); + } + } return NULL; } static void *drive_backward_cb(const char *param) { - int speed = drive_ctrl_get_speed_value(); - if(speed > 0) - speed *= -1; - drive_ctrl_set_speed_value(speed); - drive_ctrl_set_speed_left(speed); - drive_ctrl_set_speed_right(speed); + int target_speed = drive_ctrl_get_target_speed_value(); + int current_speed = drive_ctrl_get_current_speed_value(); + if(target_speed > 0) + target_speed *= -1; + drive_ctrl_set_target_speed_value(target_speed); + if(current_speed > target_speed) { + for(int i = current_speed; i > target_speed; i--) { + drive_ctrl_set_current_speed_value(i); + drive_ctrl_set_speed_left(i); + drive_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + else { + for(int i = current_speed; i < target_speed; i++) { + drive_ctrl_set_current_speed_value(i); + drive_ctrl_set_speed_left(i); + drive_ctrl_set_speed_right(i); + sleep_ms(10); + } + } return NULL; } From 3187b65c811ee9006ec11bd29d14eaa0d5945158 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Mon, 29 Aug 2016 16:54:33 +0200 Subject: [PATCH 04/18] kosmos lib 0.1.5 added --- source/os/release/include/board_devices.h | 2 ++ source/os/release/include/driver.h | 4 +++- ...bkosmos-arm-stm32f4-discovery-0.1.5.250.a} | Bin 488136 -> 494154 bytes .../release/libkosmos-arm-stm32f4-discovery.a | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) rename source/os/release/{libkosmos-arm-stm32f4-discovery-0.1.4.a => libkosmos-arm-stm32f4-discovery-0.1.5.250.a} (89%) diff --git a/source/os/release/include/board_devices.h b/source/os/release/include/board_devices.h index ec42636..657b7b3 100644 --- a/source/os/release/include/board_devices.h +++ b/source/os/release/include/board_devices.h @@ -11,6 +11,8 @@ extern const struct driver pwm_4; extern const struct driver pwm_3; extern const struct driver pwm_2; extern const struct driver pwm_1; +extern const struct driver pwm5_c2; +extern const struct driver pwm2_c4; extern const struct driver uart_1; #endif /* BOARD_DEVICES_H */ diff --git a/source/os/release/include/driver.h b/source/os/release/include/driver.h index e91349d..6ce5b5d 100644 --- a/source/os/release/include/driver.h +++ b/source/os/release/include/driver.h @@ -8,7 +8,9 @@ #ifndef SOURCE_FIRMWARE_KERNEL_DRIVER_INCLUDE_DRIVER_H_ #define SOURCE_FIRMWARE_KERNEL_DRIVER_INCLUDE_DRIVER_H_ -#define IOCTL_PWM_SET_DUTY_CYCLE 0 +#define IOCTL_PWM_SET_DUTY_CYCLE 0 +#define IOCTL_PWM_GET_PERIOD_NS 1 +#define IOCTL_PWM_GET_PULSE_WIDTH_NS 2 enum driver_type { DRIVER_TYPE_ADC, diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.4.a b/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.5.250.a similarity index 89% rename from source/os/release/libkosmos-arm-stm32f4-discovery-0.1.4.a rename to source/os/release/libkosmos-arm-stm32f4-discovery-0.1.5.250.a index ec2ac100bccd196475d89b8164c3f49637b7c409..c1d60ea73af1220244faa7c52aada285b75a773f 100644 GIT binary patch delta 16968 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

4+JDbO9EW)&ldqp+}jndkLPD5&`z#(k?o#O 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 diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery.a b/source/os/release/libkosmos-arm-stm32f4-discovery.a index b1368da..f542b68 120000 --- a/source/os/release/libkosmos-arm-stm32f4-discovery.a +++ b/source/os/release/libkosmos-arm-stm32f4-discovery.a @@ -1 +1 @@ -libkosmos-arm-stm32f4-discovery-0.1.4.a \ No newline at end of file +libkosmos-arm-stm32f4-discovery-0.1.5.250.a \ No newline at end of file From f3113146fd2ed6c8bc385116d9e761700646ec92 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Tue, 30 Aug 2016 08:14:53 +0200 Subject: [PATCH 05/18] new os lib version --- source/os/release/include/shell.h | 1 + ...bkosmos-arm-stm32f4-discovery-0.1.6.257.a} | Bin 494154 -> 494394 bytes .../release/libkosmos-arm-stm32f4-discovery.a | 2 +- 3 files changed, 2 insertions(+), 1 deletion(-) rename source/os/release/{libkosmos-arm-stm32f4-discovery-0.1.5.250.a => libkosmos-arm-stm32f4-discovery-0.1.6.257.a} (92%) diff --git a/source/os/release/include/shell.h b/source/os/release/include/shell.h index c242e8d..1b176ee 100644 --- a/source/os/release/include/shell.h +++ b/source/os/release/include/shell.h @@ -19,5 +19,6 @@ struct command { int shell_init(const struct driver *shell_device); int shell_add_command(struct command *command); +int shell_write(const char *buffer, unsigned int len); #endif /* SOURCE_FIRMWARE_KERNEL_INTERFACE_SHELL_H_ */ diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.5.250.a b/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.6.257.a similarity index 92% rename from source/os/release/libkosmos-arm-stm32f4-discovery-0.1.5.250.a rename to source/os/release/libkosmos-arm-stm32f4-discovery-0.1.6.257.a index c1d60ea73af1220244faa7c52aada285b75a773f..f39b35778f1267fc9d541792d39a78e4fb9358bd 100644 GIT binary patch delta 7060 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 diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery.a b/source/os/release/libkosmos-arm-stm32f4-discovery.a index f542b68..6ab1828 120000 --- a/source/os/release/libkosmos-arm-stm32f4-discovery.a +++ b/source/os/release/libkosmos-arm-stm32f4-discovery.a @@ -1 +1 @@ -libkosmos-arm-stm32f4-discovery-0.1.5.250.a \ No newline at end of file +libkosmos-arm-stm32f4-discovery-0.1.6.257.a \ No newline at end of file From d468cc0b222f77ef1c2015447ee5bb3733e85122 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Tue, 30 Aug 2016 08:41:02 +0200 Subject: [PATCH 06/18] shell command for application version added --- source/application/shell_commands.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/source/application/shell_commands.c b/source/application/shell_commands.c index 0cb89f8..2be40f6 100644 --- a/source/application/shell_commands.c +++ b/source/application/shell_commands.c @@ -6,6 +6,7 @@ */ #include #include +#include #include "list.h" #include "driver.h" @@ -72,6 +73,7 @@ static struct command drive_turn_right = { int shell_commands_init(void) { + shell_add_command(&cmd_app_version); shell_add_command(&drive_forward); shell_add_command(&drive_backward); shell_add_command(&drive_boost); @@ -79,7 +81,6 @@ int shell_commands_init(void) shell_add_command(&drive_halt); shell_add_command(&drive_turn_left); shell_add_command(&drive_turn_right); - shell_add_command(&cmd_app_version); return 0; } @@ -162,15 +163,15 @@ static void *drive_backward_cb(const char *param) static void *app_version(const char *param) { -#if 0 char *greeter = "engine_control version: "; - drv_write(shell_object.shell_device, greeter, strlen(greeter)); - drv_write(shell_object.shell_device, MAJOR_VERSION, strlen(MAJOR_VERSION)); - drv_write(shell_object.shell_device, ".", 1); - drv_write(shell_object.shell_device, MINOR_VERSION, strlen(MINOR_VERSION)); - drv_write(shell_object.shell_device, ".", 1); - drv_write(shell_object.shell_device, BUILD_NUMBER, strlen(BUILD_NUMBER)); -#endif + shell_write(greeter, strlen(greeter)); + shell_write(MAJOR_VERSION, strlen(MAJOR_VERSION)); + shell_write(".", 1); + shell_write(MINOR_VERSION, strlen(MINOR_VERSION)); + shell_write(".", 1); + shell_write(BUILD_NUMBER, strlen(BUILD_NUMBER)); + shell_write("\r\n", 2); + return NULL; } From 33a8e8ae2d49f4867599755a3b96a2165018d35b Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Tue, 30 Aug 2016 10:07:47 +0200 Subject: [PATCH 07/18] engine/drive ctrl functionality splitted/reordered --- source/application/drive_ctrl.c | 225 +++++++++++------------ source/application/engine_ctrl.c | 134 ++++++++++++++ source/application/include/drive_ctrl.h | 16 +- source/application/include/engine_ctrl.h | 22 +++ source/application/include/engines.h | 5 - source/application/shell_commands.c | 97 +--------- 6 files changed, 281 insertions(+), 218 deletions(-) create mode 100644 source/application/engine_ctrl.c create mode 100644 source/application/include/engine_ctrl.h diff --git a/source/application/drive_ctrl.c b/source/application/drive_ctrl.c index 421f18b..2bf6a34 100644 --- a/source/application/drive_ctrl.c +++ b/source/application/drive_ctrl.c @@ -5,149 +5,146 @@ * Author: tkl */ +#include #include +#include +#include +#include +#include "queue.h" +#include "stack.h" +#include "kernel.h" #include "driver.h" -#include "board_devices.h" -#include "engines.h" +#include "engine_ctrl.h" #include "drive_ctrl.h" -struct drive_ctrl { - struct engine_ctrl *left_forward; - struct engine_ctrl *left_backward; - struct engine_ctrl *right_forward; - struct engine_ctrl *right_backward; -}; - -struct drive_ctrl_object { - unsigned int target_speed; - unsigned int turn_speed; - unsigned int current_speed; -}; - -static struct drive_ctrl drive_ctrl = { - .left_forward = &left_forward, - .left_backward = &left_backward, - .right_forward = &right_forward, - .right_backward = &right_backward, -}; - -static struct drive_ctrl_object drive_ctrl_object = { - .target_speed = 80, /* % */ - .turn_speed = 40, - .current_speed = 0, /* % */ -}; - int drive_ctrl_init(void) { - unsigned int duty = 0; - - /* open enable pins */ - drv_open(drive_ctrl.left_forward->enable); - drv_write(drive_ctrl.left_forward->enable, "0", 1); - drv_open(drive_ctrl.left_backward->enable); - drv_write(drive_ctrl.left_backward->enable, "0", 1); - drv_open(drive_ctrl.right_forward->enable); - drv_write(drive_ctrl.right_forward->enable, "0", 1); - drv_open(drive_ctrl.right_backward->enable); - drv_write(drive_ctrl.right_backward->enable, "0", 1); - - /* open pwm's */ - drv_open(drive_ctrl.left_backward->pwm); - drv_ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); - drv_open(drive_ctrl.left_forward->pwm); - drv_ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); - drv_open(drive_ctrl.right_backward->pwm); - drv_ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); - drv_open(drive_ctrl.right_forward->pwm); - drv_ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); - - /* enable enable pins */ - drv_write(drive_ctrl.left_forward->enable, "1", 1); - drv_write(drive_ctrl.left_backward->enable, "1", 1); - drv_write(drive_ctrl.right_forward->enable, "1", 1); - drv_write(drive_ctrl.right_backward->enable, "1", 1); - - return 0; + return engine_ctrl_init(); } -static unsigned int calc_speed_front(int speed_percent) +int drive_ctrl_turn_right(void) { - unsigned int speed_front = 0; - if(speed_percent > 0) { - if(speed_percent > 100) - speed_front = 100; - else - speed_front = (unsigned int) speed_percent; + drive_ctrl_halt(); + int turn_speed = engine_ctrl_get_turn_speed_value(); + for(int i = 0; i < turn_speed; i++) { + engine_ctrl_set_speed_left(i); + engine_ctrl_set_speed_right(-1 * i); + sleep_ms(10); } - return speed_front; + + return 0; } -static unsigned int calc_speed_back(int speed_percent) +int drive_ctrl_turn_left(void) { - unsigned int speed_back = 0; - if(speed_percent < 0) { - if(speed_percent < -100) - speed_back = 100; - else - speed_back = (unsigned int) abs(speed_percent); + drive_ctrl_halt(); + int turn_speed = engine_ctrl_get_turn_speed_value(); + for(int i = 0; i < turn_speed; i++) { + engine_ctrl_set_speed_right(i); + engine_ctrl_set_speed_left(-1 * i); + sleep_ms(10); } - return speed_back; -} - -int drive_ctrl_set_speed_left(int speed_percent) -{ - unsigned int front_speed = calc_speed_front(speed_percent); - unsigned int back_speed = calc_speed_back(speed_percent); - int ret = drv_ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); - ret |= drv_ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); - - return ret; -} - -int drive_ctrl_set_speed_right(int speed_percent) -{ - unsigned int front_speed = calc_speed_front(speed_percent); - unsigned int back_speed = calc_speed_back(speed_percent); - int ret = drv_ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); - ret |= drv_ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); - - return ret; -} - -int drive_ctrl_set_target_speed_value(int speed_percent) -{ - drive_ctrl_object.target_speed = speed_percent; return 0; } -int drive_ctrl_get_target_speed_value(void) +int drive_ctrl_boost(void) { - return drive_ctrl_object.target_speed; -} - -int drive_ctrl_set_current_speed_value(int speed_percent) -{ - drive_ctrl_object.current_speed = speed_percent; + int speed = engine_ctrl_get_target_speed_value(); + speed += 10; + engine_ctrl_set_target_speed_value(speed); + engine_ctrl_set_speed_left(speed); + engine_ctrl_set_speed_right(speed); return 0; } -int drive_ctrl_get_current_speed_value(void) +int drive_ctrl_retard(void) { - return drive_ctrl_object.current_speed; -} - -int drive_ctrl_set_turn_speed_value(int speed_percent) -{ - drive_ctrl_object.turn_speed = speed_percent; + int speed = engine_ctrl_get_target_speed_value(); + speed -= 10; + engine_ctrl_set_target_speed_value(speed); + engine_ctrl_set_speed_left(speed); + engine_ctrl_set_speed_right(speed); return 0; } -int drive_ctrl_get_turn_speed_value(void) +int drive_ctrl_halt(void) { - return drive_ctrl_object.turn_speed; + int current_speed = engine_ctrl_get_current_speed_value(); + if(current_speed > 0) { + for(int i = current_speed; i > 0; i--) { + engine_ctrl_set_current_speed_value(i); + engine_ctrl_set_speed_left(i); + engine_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + else { + for(int i = current_speed; i < 0; i++) { + engine_ctrl_set_current_speed_value(i); + engine_ctrl_set_speed_left(i); + engine_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + + return 0; +} + +int drive_ctrl_forward(void) +{ + int target_speed = engine_ctrl_get_target_speed_value(); + int current_speed = engine_ctrl_get_current_speed_value(); + if(target_speed < 0) + target_speed = abs(target_speed); + engine_ctrl_set_target_speed_value(target_speed); + if(current_speed < target_speed) { + for(int i = current_speed; i < target_speed; i++) { + engine_ctrl_set_current_speed_value(i); + engine_ctrl_set_speed_left(i); + engine_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + else { + for(int i = current_speed; i > target_speed; i--) { + engine_ctrl_set_current_speed_value(i); + engine_ctrl_set_speed_left(i); + engine_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + + return 0; +} + +int drive_ctrl_backward(void) +{ + int target_speed = engine_ctrl_get_target_speed_value(); + int current_speed = engine_ctrl_get_current_speed_value(); + if(target_speed > 0) + target_speed *= -1; + engine_ctrl_set_target_speed_value(target_speed); + if(current_speed > target_speed) { + for(int i = current_speed; i > target_speed; i--) { + engine_ctrl_set_current_speed_value(i); + engine_ctrl_set_speed_left(i); + engine_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + else { + for(int i = current_speed; i < target_speed; i++) { + engine_ctrl_set_current_speed_value(i); + engine_ctrl_set_speed_left(i); + engine_ctrl_set_speed_right(i); + sleep_ms(10); + } + } + + return 0; } diff --git a/source/application/engine_ctrl.c b/source/application/engine_ctrl.c new file mode 100644 index 0000000..bb2f3c7 --- /dev/null +++ b/source/application/engine_ctrl.c @@ -0,0 +1,134 @@ +/* + * engine_ctrl.c + * + * Created on: Aug 30, 2016 + * Author: tkl + */ +#include + +#include "board_devices.h" +#include "driver.h" +#include "engines.h" + +struct drive_ctrl { + struct engine_ctrl *left_forward; + struct engine_ctrl *left_backward; + struct engine_ctrl *right_forward; + struct engine_ctrl *right_backward; +}; + +struct drive_ctrl_object { + unsigned int target_speed; + unsigned int turn_speed; + unsigned int current_speed; +}; + +static struct drive_ctrl drive_ctrl = { + .left_forward = &left_forward, + .left_backward = &left_backward, + .right_forward = &right_forward, + .right_backward = &right_backward, +}; + +static struct drive_ctrl_object drive_ctrl_object = { + .target_speed = 100,/* % */ + .turn_speed = 40, /* % */ + .current_speed = 0, /* % */ +}; + +int engine_ctrl_init(void) +{ + unsigned int duty = 0; + + /* open pwm's */ + drv_open(drive_ctrl.left_backward->pwm); + drv_ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); + drv_open(drive_ctrl.left_forward->pwm); + drv_ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); + drv_open(drive_ctrl.right_backward->pwm); + drv_ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); + drv_open(drive_ctrl.right_forward->pwm); + drv_ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty); + + return 0; +} + +static unsigned int calc_speed_front(int speed_percent) +{ + unsigned int speed_front = 0; + if(speed_percent > 0) { + if(speed_percent > 100) + speed_front = 100; + else + speed_front = (unsigned int) speed_percent; + } + return speed_front; +} + +static unsigned int calc_speed_back(int speed_percent) +{ + unsigned int speed_back = 0; + if(speed_percent < 0) { + if(speed_percent < -100) + speed_back = 100; + else + speed_back = (unsigned int) abs(speed_percent); + } + return speed_back; +} + +int engine_ctrl_set_speed_left(int speed_percent) +{ + unsigned int front_speed = calc_speed_front(speed_percent); + unsigned int back_speed = calc_speed_back(speed_percent); + int ret = drv_ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); + ret |= drv_ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); + + return ret; +} + +int engine_ctrl_set_speed_right(int speed_percent) +{ + unsigned int front_speed = calc_speed_front(speed_percent); + unsigned int back_speed = calc_speed_back(speed_percent); + int ret = drv_ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed); + ret |= drv_ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed); + + return ret; +} + +int engine_ctrl_set_target_speed_value(int speed_percent) +{ + drive_ctrl_object.target_speed = speed_percent; + + return 0; +} + +int engine_ctrl_get_target_speed_value(void) +{ + return drive_ctrl_object.target_speed; +} + +int engine_ctrl_set_current_speed_value(int speed_percent) +{ + drive_ctrl_object.current_speed = speed_percent; + + return 0; +} + +int engine_ctrl_get_current_speed_value(void) +{ + return drive_ctrl_object.current_speed; +} + +int drive_ctrl_set_turn_speed_value(int speed_percent) +{ + drive_ctrl_object.turn_speed = speed_percent; + + return 0; +} + +int engine_ctrl_get_turn_speed_value(void) +{ + return drive_ctrl_object.turn_speed; +} diff --git a/source/application/include/drive_ctrl.h b/source/application/include/drive_ctrl.h index 2672ecc..8edab17 100644 --- a/source/application/include/drive_ctrl.h +++ b/source/application/include/drive_ctrl.h @@ -10,14 +10,12 @@ int drive_ctrl_init(void); -int drive_ctrl_set_speed_left(int speed_percent); -int drive_ctrl_set_speed_right(int speed_percent); -int drive_ctrl_set_target_speed_value(int speed_percent); -int drive_ctrl_get_target_speed_value(void); -int drive_ctrl_set_current_speed_value(int speed_percent); -int drive_ctrl_get_current_speed_value(void); -int drive_ctrl_set_turn_speed_value(int speed_percent); -int drive_ctrl_get_turn_speed_value(void); - +int drive_ctrl_turn_right(void); +int drive_ctrl_turn_left(void); +int drive_ctrl_boost(void); +int drive_ctrl_retard(void); +int drive_ctrl_halt(void); +int drive_ctrl_forward(void); +int drive_ctrl_backward(void); #endif /* SOURCE_APPLICATION_INCLUDE_DRIVE_CTRL_H_ */ diff --git a/source/application/include/engine_ctrl.h b/source/application/include/engine_ctrl.h new file mode 100644 index 0000000..245451f --- /dev/null +++ b/source/application/include/engine_ctrl.h @@ -0,0 +1,22 @@ +/* + * engine_ctrl.h + * + * Created on: Aug 30, 2016 + * Author: tkl + */ + +#ifndef SOURCE_APPLICATION_INCLUDE_ENGINE_CTRL_H_ +#define SOURCE_APPLICATION_INCLUDE_ENGINE_CTRL_H_ + +int engine_ctrl_init(void); + +int engine_ctrl_set_speed_left(int speed_percent); +int engine_ctrl_set_speed_right(int speed_percent); +int engine_ctrl_set_target_speed_value(int speed_percent); +int engine_ctrl_get_target_speed_value(void); +int engine_ctrl_set_current_speed_value(int speed_percent); +int engine_ctrl_get_current_speed_value(void); +int engine_ctrl_set_turn_speed_value(int speed_percent); +int engine_ctrl_get_turn_speed_value(void); + +#endif /* SOURCE_APPLICATION_INCLUDE_ENGINE_CTRL_H_ */ diff --git a/source/application/include/engines.h b/source/application/include/engines.h index 6a955ed..cc6d7ed 100644 --- a/source/application/include/engines.h +++ b/source/application/include/engines.h @@ -10,27 +10,22 @@ struct engine_ctrl { const struct driver *pwm; - const struct driver *enable; }; static struct engine_ctrl left_forward = { .pwm = &pwm_4, - .enable = &gpio_c2, }; static struct engine_ctrl right_backward = { .pwm = &pwm_3, - .enable = &gpio_c3, }; static struct engine_ctrl right_forward = { .pwm = &pwm_2, - .enable = &gpio_c0, }; static struct engine_ctrl left_backward = { .pwm = &pwm_1, - .enable = &gpio_c1, }; #endif /* SOURCE_APPLICATION_INCLUDE_ENGINES_H_ */ diff --git a/source/application/shell_commands.c b/source/application/shell_commands.c index 1d02284..b8100ba 100644 --- a/source/application/shell_commands.c +++ b/source/application/shell_commands.c @@ -92,126 +92,43 @@ int shell_commands_init(void) static void *drive_turn_right_cb(const char *param) { - drive_halt_cb(NULL); - int turn_speed = drive_ctrl_get_turn_speed_value(); - for(int i = 0; i < turn_speed; i++) { - drive_ctrl_set_speed_left(i); - drive_ctrl_set_speed_right(-1 * i); - sleep_ms(10); - } - + drive_ctrl_turn_right(); return NULL; } static void *drive_turn_left_cb(const char *param) { - drive_halt_cb(NULL); - int turn_speed = drive_ctrl_get_turn_speed_value(); - for(int i = 0; i < turn_speed; i++) { - drive_ctrl_set_speed_right(i); - drive_ctrl_set_speed_left(-1 * i); - sleep_ms(10); - } - + drive_ctrl_turn_left(); return NULL; } static void *drive_boost_cb(const char *param) { - int speed = drive_ctrl_get_target_speed_value(); - speed += 10; - drive_ctrl_set_target_speed_value(speed); - drive_ctrl_set_speed_left(speed); - drive_ctrl_set_speed_right(speed); - + drive_ctrl_boost(); return NULL; } static void *drive_retard_cb(const char *param) { - int speed = drive_ctrl_get_target_speed_value(); - speed -= 10; - drive_ctrl_set_target_speed_value(speed); - drive_ctrl_set_speed_left(speed); - drive_ctrl_set_speed_right(speed); - + drive_ctrl_retard(); return NULL; } static void *drive_halt_cb(const char *param) { - int current_speed = drive_ctrl_get_current_speed_value(); - if(current_speed > 0) { - for(int i = current_speed; i > 0; i--) { - drive_ctrl_set_current_speed_value(i); - drive_ctrl_set_speed_left(i); - drive_ctrl_set_speed_right(i); - sleep_ms(10); - } - } - else { - for(int i = current_speed; i < 0; i++) { - drive_ctrl_set_current_speed_value(i); - drive_ctrl_set_speed_left(i); - drive_ctrl_set_speed_right(i); - sleep_ms(10); - } - } - + drive_ctrl_halt(); return NULL; } static void *drive_forward_cb(const char *param) { - int target_speed = drive_ctrl_get_target_speed_value(); - int current_speed = drive_ctrl_get_current_speed_value(); - if(target_speed < 0) - target_speed = abs(target_speed); - drive_ctrl_set_target_speed_value(target_speed); - if(current_speed < target_speed) { - for(int i = current_speed; i < target_speed; i++) { - drive_ctrl_set_current_speed_value(i); - drive_ctrl_set_speed_left(i); - drive_ctrl_set_speed_right(i); - sleep_ms(10); - } - } - else { - for(int i = current_speed; i > target_speed; i--) { - drive_ctrl_set_current_speed_value(i); - drive_ctrl_set_speed_left(i); - drive_ctrl_set_speed_right(i); - sleep_ms(10); - } - } - + drive_ctrl_forward(); return NULL; } static void *drive_backward_cb(const char *param) { - int target_speed = drive_ctrl_get_target_speed_value(); - int current_speed = drive_ctrl_get_current_speed_value(); - if(target_speed > 0) - target_speed *= -1; - drive_ctrl_set_target_speed_value(target_speed); - if(current_speed > target_speed) { - for(int i = current_speed; i > target_speed; i--) { - drive_ctrl_set_current_speed_value(i); - drive_ctrl_set_speed_left(i); - drive_ctrl_set_speed_right(i); - sleep_ms(10); - } - } - else { - for(int i = current_speed; i < target_speed; i++) { - drive_ctrl_set_current_speed_value(i); - drive_ctrl_set_speed_left(i); - drive_ctrl_set_speed_right(i); - sleep_ms(10); - } - } - + drive_ctrl_backward(); return NULL; } From 761d3ab0a662e0c99c3fceebe10b7d4c0e31e5a2 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Tue, 30 Aug 2016 13:37:40 +0200 Subject: [PATCH 08/18] collision detection system --- source/application/collision_ctrl.c | 90 +++++++++++++++++++++ source/application/include/collision_ctrl.h | 14 ++++ source/application/include/sensor_data.h | 14 ++++ source/application/main.c | 6 +- source/application/sensor_data.c | 65 +++++++++++++++ source/application/shell_commands.c | 28 +++++++ 6 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 source/application/collision_ctrl.c create mode 100644 source/application/include/collision_ctrl.h create mode 100644 source/application/include/sensor_data.h create mode 100644 source/application/sensor_data.c diff --git a/source/application/collision_ctrl.c b/source/application/collision_ctrl.c new file mode 100644 index 0000000..4b878d4 --- /dev/null +++ b/source/application/collision_ctrl.c @@ -0,0 +1,90 @@ +/* + * collision_ctrl.c + * + * Created on: Aug 30, 2016 + * Author: tkl + */ + +#include +#include +#include +#include +#include +#include + +#include "board_devices.h" +#include "queue.h" +#include "list.h" +#include "stack.h" +#include "kernel.h" +#include "driver.h" +#include "shell.h" +#include "drive_ctrl.h" +#include "engine_ctrl.h" + +#pragma pack(push) +#pragma pack(1) +struct collision_ctrl_object { + int distance_mm; +}; +#pragma pack(pop) + +struct collision_ctrl_object collision_ctrl_object; +struct thread_context collision_ctrl_ctx; +stack_t collision_ctrl_stack[256]; + +static void collision_ctrl_loop(void *arg) +{ + drv_open(&pwm5_c2); /* trigger pwm */ + drv_open(&pwm2_c4); /* read pwm */ + while(1) { + int pulse_ns = drv_ioctl(&pwm2_c4, IOCTL_PWM_GET_PULSE_WIDTH_NS, NULL); + collision_ctrl_object.distance_mm = 343 * pulse_ns / 1000 / 2; + if(collision_ctrl_object.distance_mm < 300) { + char print_buffer[50]; + if(engine_ctrl_get_current_speed_value() != 0) { + drive_ctrl_halt(); + sprintf(print_buffer, "collision detected (%dmm)...\r\n", collision_ctrl_object.distance_mm); + shell_write(print_buffer, strlen(print_buffer)); + sprintf(print_buffer, "going back...\r\n"); + shell_write(print_buffer, strlen(print_buffer)); + drive_ctrl_backward(); + sleep_ms(3000); /* todo: randomize */ + drive_ctrl_halt(); + + sprintf(print_buffer, "start turning...\r\n"); + shell_write(print_buffer, strlen(print_buffer)); + drive_ctrl_turn_left(); + sleep_ms(3000); + drive_ctrl_halt(); + + sprintf(print_buffer, "restart forward...\r\n"); + shell_write(print_buffer, strlen(print_buffer)); + drive_ctrl_forward(); + } + else { + sprintf(print_buffer, "collision detected while not driving 8(\r\n"); + shell_write(print_buffer, strlen(print_buffer)); + } + } + sleep_ms(1); + } +} + +int collision_ctrl_init(void) +{ + thread_create( + &collision_ctrl_ctx, + collision_ctrl_stack, + sizeof(collision_ctrl_stack) / sizeof(stack_t), + collision_ctrl_loop, + NULL, + THREAD_PRIO_LOW); + + return 0; +} + +int collision_ctrl_get_distance_mm(void) +{ + return collision_ctrl_object.distance_mm; +} diff --git a/source/application/include/collision_ctrl.h b/source/application/include/collision_ctrl.h new file mode 100644 index 0000000..9275593 --- /dev/null +++ b/source/application/include/collision_ctrl.h @@ -0,0 +1,14 @@ +/* + * collision_ctrl.h + * + * Created on: Aug 30, 2016 + * Author: tkl + */ + +#ifndef SOURCE_APPLICATION_INCLUDE_COLLISION_CTRL_H_ +#define SOURCE_APPLICATION_INCLUDE_COLLISION_CTRL_H_ + +int collision_ctrl_init(void); +int collision_ctrl_get_distance_mm(void); + +#endif /* SOURCE_APPLICATION_INCLUDE_COLLISION_CTRL_H_ */ diff --git a/source/application/include/sensor_data.h b/source/application/include/sensor_data.h new file mode 100644 index 0000000..ed4e245 --- /dev/null +++ b/source/application/include/sensor_data.h @@ -0,0 +1,14 @@ +/* + * sensor_data.h + * + * Created on: Aug 30, 2016 + * Author: tkl + */ + +#ifndef SOURCE_APPLICATION_INCLUDE_SENSOR_DATA_H_ +#define SOURCE_APPLICATION_INCLUDE_SENSOR_DATA_H_ + +int sensor_data_init(void); +int sensor_data_sys_msg(bool state); + +#endif /* SOURCE_APPLICATION_INCLUDE_SENSOR_DATA_H_ */ diff --git a/source/application/main.c b/source/application/main.c index 4544360..cd70b1c 100644 --- a/source/application/main.c +++ b/source/application/main.c @@ -10,12 +10,16 @@ #include "shell.h" #include "shell_commands.h" #include "drive_ctrl.h" +#include "collision_ctrl.h" +#include "sensor_data.h" int main(void) { - drive_ctrl_init(); shell_init(&uart_1); shell_commands_init(); + drive_ctrl_init(); + collision_ctrl_init(); + sensor_data_init(); while(1) { sleep_ms(1000); diff --git a/source/application/sensor_data.c b/source/application/sensor_data.c new file mode 100644 index 0000000..7b72a50 --- /dev/null +++ b/source/application/sensor_data.c @@ -0,0 +1,65 @@ +/* + * sensor_data.c + * + * Created on: Aug 30, 2016 + * Author: tkl + */ + +#include +#include +#include +#include +#include +#include + +#include "driver.h" +#include "queue.h" +#include "list.h" +#include "stack.h" +#include "kernel.h" +#include "shell.h" +#include "collision_ctrl.h" + +struct sensor_data_object { + bool sys_msg_on; +}; + +struct sensor_data_object sensor_data_object = { + .sys_msg_on = false, +}; + +struct thread_context sensor_data_ctx; +stack_t sensor_data_stack[256]; + +static void sensor_data_loop(void *arg) +{ + char print_buffer[50]; + while(1) { + int collision_distance = collision_ctrl_get_distance_mm(); + if(sensor_data_object.sys_msg_on) { + sprintf(print_buffer, "#SYS:%d\r\n", collision_distance); + shell_write(print_buffer, strlen(print_buffer)); + } + sleep_ms(1000); + } +} + +int sensor_data_init(void) +{ + thread_create( + &sensor_data_ctx, + sensor_data_stack, + sizeof(sensor_data_stack) / sizeof(stack_t), + sensor_data_loop, + NULL, + THREAD_PRIO_LOW); + + return 0; +} + +int sensor_data_sys_msg(bool state) +{ + sensor_data_object.sys_msg_on = state; + + return 0; +} diff --git a/source/application/shell_commands.c b/source/application/shell_commands.c index b8100ba..fb54ef4 100644 --- a/source/application/shell_commands.c +++ b/source/application/shell_commands.c @@ -18,6 +18,7 @@ #include "kernel.h" #include "drive_ctrl.h" #include "version.h" +#include "sensor_data.h" static void *drive_turn_right_cb(const char *param); static void *drive_turn_left_cb(const char *param); @@ -27,6 +28,20 @@ static void *drive_halt_cb(const char *param); static void *drive_forward_cb(const char *param); static void *drive_backward_cb(const char *param); static void *app_version(const char *param); +static void *sys_msg_on_cb(const char *param); +static void *sys_msg_off_cb(const char *param); + +static struct command cmd_sys_msg_on = { + .command = "sys on", + .description = "Switch system message on.", + .command_callback = sys_msg_on_cb, +}; + +static struct command cmd_sys_msg_off = { + .command = "sys off", + .description = "Switch system message off.", + .command_callback = sys_msg_off_cb, +}; static struct command cmd_app_version = { .command = "version", @@ -86,6 +101,8 @@ int shell_commands_init(void) shell_add_command(&drive_halt); shell_add_command(&drive_turn_left); shell_add_command(&drive_turn_right); + shell_add_command(&cmd_sys_msg_off); + shell_add_command(&cmd_sys_msg_on); return 0; } @@ -146,3 +163,14 @@ static void *app_version(const char *param) return NULL; } + +static void *sys_msg_on_cb(const char *param) +{ + sensor_data_sys_msg(true); + return NULL; +} +static void *sys_msg_off_cb(const char *param) +{ + sensor_data_sys_msg(false); + return NULL; +} From 05274f1c3a695c7ea71553e28a51b109b61eda4b Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Tue, 30 Aug 2016 17:27:46 +0200 Subject: [PATCH 09/18] update os lib 0.1.6 -> 0.1.7 --- source/os/release/include/board_devices.h | 1 + source/os/release/include/driver.h | 1 + ...bkosmos-arm-stm32f4-discovery-0.1.7.265.a} | Bin 494394 -> 510782 bytes .../release/libkosmos-arm-stm32f4-discovery.a | 2 +- 4 files changed, 3 insertions(+), 1 deletion(-) rename source/os/release/{libkosmos-arm-stm32f4-discovery-0.1.6.257.a => libkosmos-arm-stm32f4-discovery-0.1.7.265.a} (87%) diff --git a/source/os/release/include/board_devices.h b/source/os/release/include/board_devices.h index 657b7b3..129e41c 100644 --- a/source/os/release/include/board_devices.h +++ b/source/os/release/include/board_devices.h @@ -3,6 +3,7 @@ #ifndef BOARD_DEVICES_H #define BOARD_DEVICES_H +extern const struct driver rng; extern const struct driver gpio_c0; extern const struct driver gpio_c1; extern const struct driver gpio_c2; diff --git a/source/os/release/include/driver.h b/source/os/release/include/driver.h index 6ce5b5d..8af40b4 100644 --- a/source/os/release/include/driver.h +++ b/source/os/release/include/driver.h @@ -17,6 +17,7 @@ enum driver_type { DRIVER_TYPE_GPIO, DRIVER_TYPE_I2C, DRIVER_TYPE_PWM, + DRIVER_TYPE_RNG, DRIVER_TYPE_RTC, DRIVER_TYPE_SPI, DRIVER_TYPE_UART diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.6.257.a b/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.7.265.a similarity index 87% rename from source/os/release/libkosmos-arm-stm32f4-discovery-0.1.6.257.a rename to source/os/release/libkosmos-arm-stm32f4-discovery-0.1.7.265.a index f39b35778f1267fc9d541792d39a78e4fb9358bd..08ea1ee80149fcfc1472960544ecabdc9ae2b35a 100644 GIT binary patch delta 21213 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 delta 12356 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 JxI?K4`#-f{aykG2 diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery.a b/source/os/release/libkosmos-arm-stm32f4-discovery.a index 6ab1828..68482a4 120000 --- a/source/os/release/libkosmos-arm-stm32f4-discovery.a +++ b/source/os/release/libkosmos-arm-stm32f4-discovery.a @@ -1 +1 @@ -libkosmos-arm-stm32f4-discovery-0.1.6.257.a \ No newline at end of file +libkosmos-arm-stm32f4-discovery-0.1.7.265.a \ No newline at end of file From 53215d98159c1f1cc0e4ea368168ef6c051a3dc1 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Fri, 16 Sep 2016 21:47:37 +0200 Subject: [PATCH 10/18] new os version --- ...bkosmos-arm-stm32f4-discovery-0.1.9.276.a} | Bin 510782 -> 498450 bytes .../release/libkosmos-arm-stm32f4-discovery.a | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename source/os/release/{libkosmos-arm-stm32f4-discovery-0.1.7.265.a => libkosmos-arm-stm32f4-discovery-0.1.9.276.a} (90%) diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.7.265.a b/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.9.276.a similarity index 90% rename from source/os/release/libkosmos-arm-stm32f4-discovery-0.1.7.265.a rename to source/os/release/libkosmos-arm-stm32f4-discovery-0.1.9.276.a index 08ea1ee80149fcfc1472960544ecabdc9ae2b35a..05fd6e153875915eaa0b164778ee3a147f6755bc 100644 GIT binary patch delta 7779 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 delta 15028 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 pCcM@!^R-7D$^yQb@6&cgg6#MEtW^(cud{ Date: Mon, 19 Sep 2016 16:18:04 +0200 Subject: [PATCH 11/18] react to collision detection randomized --- source/application/collision_ctrl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/application/collision_ctrl.c b/source/application/collision_ctrl.c index 4b878d4..002fc7f 100644 --- a/source/application/collision_ctrl.c +++ b/source/application/collision_ctrl.c @@ -37,6 +37,7 @@ static void collision_ctrl_loop(void *arg) { drv_open(&pwm5_c2); /* trigger pwm */ drv_open(&pwm2_c4); /* read pwm */ + drv_open(&rng); while(1) { int pulse_ns = drv_ioctl(&pwm2_c4, IOCTL_PWM_GET_PULSE_WIDTH_NS, NULL); collision_ctrl_object.distance_mm = 343 * pulse_ns / 1000 / 2; @@ -49,13 +50,13 @@ static void collision_ctrl_loop(void *arg) sprintf(print_buffer, "going back...\r\n"); shell_write(print_buffer, strlen(print_buffer)); drive_ctrl_backward(); - sleep_ms(3000); /* todo: randomize */ + sleep_ms(500); drive_ctrl_halt(); sprintf(print_buffer, "start turning...\r\n"); shell_write(print_buffer, strlen(print_buffer)); drive_ctrl_turn_left(); - sleep_ms(3000); + sleep_ms(drv_read(&rng, Null, 0) % 3500 + 500); // rand between 500 and 4000 drive_ctrl_halt(); sprintf(print_buffer, "restart forward...\r\n"); From 4ead1569c11c203a0459eb154d194333e02cd202 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Mon, 19 Sep 2016 16:21:18 +0200 Subject: [PATCH 12/18] error correction --- source/application/collision_ctrl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/application/collision_ctrl.c b/source/application/collision_ctrl.c index 002fc7f..e3a54a1 100644 --- a/source/application/collision_ctrl.c +++ b/source/application/collision_ctrl.c @@ -56,7 +56,7 @@ static void collision_ctrl_loop(void *arg) sprintf(print_buffer, "start turning...\r\n"); shell_write(print_buffer, strlen(print_buffer)); drive_ctrl_turn_left(); - sleep_ms(drv_read(&rng, Null, 0) % 3500 + 500); // rand between 500 and 4000 + sleep_ms(drv_read(&rng, NULL, 0) % 3500 + 500); // rand between 500 and 4000 drive_ctrl_halt(); sprintf(print_buffer, "restart forward...\r\n"); From b7850439676998435d1649c485456827d7663448 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Tue, 20 Sep 2016 09:06:12 +0200 Subject: [PATCH 13/18] state machine handling added --- source/application/collision_ctrl.c | 9 + source/application/include/collision_ctrl.h | 1 + source/application/include/system_state.h | 26 +++ source/application/main.c | 5 +- source/application/shell_commands.c | 80 +------ source/application/system_state.c | 221 ++++++++++++++++++ source/os/release/include/kernel.h | 1 + .../release/libkosmos-arm-stm32f4-discovery.a | Bin 43 -> 498574 bytes 8 files changed, 267 insertions(+), 76 deletions(-) create mode 100644 source/application/include/system_state.h create mode 100644 source/application/system_state.c mode change 120000 => 100644 source/os/release/libkosmos-arm-stm32f4-discovery.a diff --git a/source/application/collision_ctrl.c b/source/application/collision_ctrl.c index e3a54a1..8e53751 100644 --- a/source/application/collision_ctrl.c +++ b/source/application/collision_ctrl.c @@ -41,6 +41,7 @@ static void collision_ctrl_loop(void *arg) while(1) { int pulse_ns = drv_ioctl(&pwm2_c4, IOCTL_PWM_GET_PULSE_WIDTH_NS, NULL); collision_ctrl_object.distance_mm = 343 * pulse_ns / 1000 / 2; +#if 0 if(collision_ctrl_object.distance_mm < 300) { char print_buffer[50]; if(engine_ctrl_get_current_speed_value() != 0) { @@ -68,6 +69,7 @@ static void collision_ctrl_loop(void *arg) shell_write(print_buffer, strlen(print_buffer)); } } +#endif sleep_ms(1); } } @@ -89,3 +91,10 @@ int collision_ctrl_get_distance_mm(void) { return collision_ctrl_object.distance_mm; } + +bool collision_ctrl_is_collision(void) +{ + if(collision_ctrl_object.distance_mm < 400) + return true; + return false; +} diff --git a/source/application/include/collision_ctrl.h b/source/application/include/collision_ctrl.h index 9275593..f05f268 100644 --- a/source/application/include/collision_ctrl.h +++ b/source/application/include/collision_ctrl.h @@ -10,5 +10,6 @@ int collision_ctrl_init(void); int collision_ctrl_get_distance_mm(void); +bool collision_ctrl_is_collision(void); #endif /* SOURCE_APPLICATION_INCLUDE_COLLISION_CTRL_H_ */ diff --git a/source/application/include/system_state.h b/source/application/include/system_state.h new file mode 100644 index 0000000..379f624 --- /dev/null +++ b/source/application/include/system_state.h @@ -0,0 +1,26 @@ +/* + * system_state.h + * + * Created on: Sep 19, 2016 + * Author: tkl + */ + +#ifndef SOURCE_APPLICATION_INCLUDE_SYSTEM_STATE_H_ +#define SOURCE_APPLICATION_INCLUDE_SYSTEM_STATE_H_ + +enum system_state { + SYS_INIT = 0, + SYS_IDLE, + SYS_DRIVING, + SYS_COLLISION_DETECTED, + SYS_COLLISION_DRIVE_BACK, + SYS_COLLISION_TURN, + SYS_MAX +}; + +int system_state_init(void); +int system_state_poll(void); +int system_state_force(enum system_state state); + + +#endif /* SOURCE_APPLICATION_INCLUDE_SYSTEM_STATE_H_ */ diff --git a/source/application/main.c b/source/application/main.c index cd70b1c..5204f2a 100644 --- a/source/application/main.c +++ b/source/application/main.c @@ -12,6 +12,7 @@ #include "drive_ctrl.h" #include "collision_ctrl.h" #include "sensor_data.h" +#include "system_state.h" int main(void) { @@ -20,9 +21,11 @@ int main(void) drive_ctrl_init(); collision_ctrl_init(); sensor_data_init(); + system_state_init(); while(1) { - sleep_ms(1000); + system_state_poll(); + sleep_ms(0); } return 0; diff --git a/source/application/shell_commands.c b/source/application/shell_commands.c index fb54ef4..c584da2 100644 --- a/source/application/shell_commands.c +++ b/source/application/shell_commands.c @@ -16,17 +16,12 @@ #include "queue.h" #include "stack.h" #include "kernel.h" -#include "drive_ctrl.h" #include "version.h" #include "sensor_data.h" +#include "system_state.h" -static void *drive_turn_right_cb(const char *param); -static void *drive_turn_left_cb(const char *param); -static void *drive_boost_cb(const char *param); -static void *drive_retard_cb(const char *param); static void *drive_halt_cb(const char *param); static void *drive_forward_cb(const char *param); -static void *drive_backward_cb(const char *param); static void *app_version(const char *param); static void *sys_msg_on_cb(const char *param); static void *sys_msg_off_cb(const char *param); @@ -50,102 +45,37 @@ static struct command cmd_app_version = { }; static struct command drive_forward = { - .command = "f", - .description = "Start driving forward with preset speed.", + .command = "d", + .description = "Start driving .", .command_callback = drive_forward_cb, }; -static struct command drive_backward = { - .command = "b", - .description = "Start driving backward with preset speed.", - .command_callback = drive_backward_cb, -}; - static struct command drive_halt = { .command = "h", .description = "Stop driving.", .command_callback = drive_halt_cb, }; -static struct command drive_boost = { - .command = "+", - .description = "Boost speed.", - .command_callback = drive_boost_cb, -}; - -static struct command drive_retard = { - .command = "-", - .description = "Retard speed", - .command_callback = drive_retard_cb, -}; - -static struct command drive_turn_left = { - .command = "l", - .description = "Turn left.", - .command_callback = drive_turn_left_cb, -}; - -static struct command drive_turn_right = { - .command = "r", - .description = "Turn right", - .command_callback = drive_turn_right_cb, -}; - int shell_commands_init(void) { shell_add_command(&cmd_app_version); shell_add_command(&drive_forward); - shell_add_command(&drive_backward); - shell_add_command(&drive_boost); - shell_add_command(&drive_retard); shell_add_command(&drive_halt); - shell_add_command(&drive_turn_left); - shell_add_command(&drive_turn_right); shell_add_command(&cmd_sys_msg_off); shell_add_command(&cmd_sys_msg_on); return 0; } -static void *drive_turn_right_cb(const char *param) -{ - drive_ctrl_turn_right(); - return NULL; -} - -static void *drive_turn_left_cb(const char *param) -{ - drive_ctrl_turn_left(); - return NULL; -} - -static void *drive_boost_cb(const char *param) -{ - drive_ctrl_boost(); - return NULL; -} - -static void *drive_retard_cb(const char *param) -{ - drive_ctrl_retard(); - return NULL; -} - static void *drive_halt_cb(const char *param) { - drive_ctrl_halt(); + system_state_force(SYS_IDLE); return NULL; } static void *drive_forward_cb(const char *param) { - drive_ctrl_forward(); - return NULL; -} - -static void *drive_backward_cb(const char *param) -{ - drive_ctrl_backward(); + system_state_force(SYS_DRIVING); return NULL; } diff --git a/source/application/system_state.c b/source/application/system_state.c new file mode 100644 index 0000000..7bba581 --- /dev/null +++ b/source/application/system_state.c @@ -0,0 +1,221 @@ +/* + * system_state.c + * + * Created on: Sep 19, 2016 + * Author: tkl + */ + +#include +#include +#include + +#include "collision_ctrl.h" +#include "drive_ctrl.h" + +#include "driver.h" +#include "stack.h" +#include "queue.h" +#include "list.h" +#include "shell.h" +#include "kernel.h" + +#include "board_devices.h" + +#include "system_state.h" + +#pragma pack(push) +#pragma pack(1) +struct collision_timer { + bool running; + unsigned long tick; +}; +#pragma pack(pop) + +struct system_state_object { + enum system_state system_state; + enum system_state last_state; + enum system_state saved_state; + enum system_state force_state; + struct collision_timer collision_timer; +}; + +static struct system_state_object system_state_object = { + .system_state = SYS_INIT, + .last_state = SYS_MAX, + .saved_state = SYS_MAX, + .force_state = SYS_MAX, + .collision_timer.running = false, + .collision_timer.tick = 0, +}; + +int system_state_init(void) +{ + return 0; +} + +static bool is_transition(void) +{ + return (system_state_object.system_state != system_state_object.last_state) ? true : false; +} + +static enum system_state handle_state_init(void) +{ + enum system_state next_state = SYS_INIT; + if(is_transition()) { + system_state_object.last_state = system_state_object.system_state; + char print_buffer[] = "#SYS_ST: INIT\r\n"; + shell_write(print_buffer, strlen(print_buffer)); + drive_ctrl_halt(); + } + // TODO: check various sensor states e.g. battery, position state etc... + next_state = SYS_IDLE; + return next_state; +} + +static enum system_state handle_state_idle(void) +{ + enum system_state next_state = SYS_IDLE; + if(is_transition()) { + system_state_object.last_state = system_state_object.system_state; + char print_buffer[] = "#SYS_ST: IDLE\r\n"; + shell_write(print_buffer, strlen(print_buffer)); + drive_ctrl_halt(); + } + if(system_state_object.force_state == SYS_DRIVING) { + next_state = SYS_DRIVING; + system_state_object.force_state = SYS_MAX; + } + return next_state; +} + +static enum system_state handle_state_driving(void) +{ + enum system_state next_state = SYS_DRIVING; + if(is_transition()) { + system_state_object.last_state = system_state_object.system_state; + char print_buffer[] = "#SYS_ST: DRIVING\r\n"; + shell_write(print_buffer, strlen(print_buffer)); + drive_ctrl_forward(); + } + if(collision_ctrl_is_collision()) { + next_state = SYS_COLLISION_DETECTED; + system_state_object.saved_state = system_state_object.system_state; + } + if(system_state_object.force_state == SYS_IDLE) { + next_state = SYS_IDLE; + system_state_object.force_state = SYS_MAX; + } + + return next_state; +} + +static enum system_state handle_state_collision_detected(void) +{ + enum system_state next_state = SYS_COLLISION_DETECTED; + if(is_transition()) { + system_state_object.last_state = system_state_object.system_state; + drive_ctrl_halt(); + char print_buffer[] = "#SYS_ST: COLLISION_DETECTED\r\n"; + shell_write(print_buffer, strlen(print_buffer)); + } + next_state = SYS_COLLISION_DRIVE_BACK; + if(system_state_object.force_state == SYS_IDLE) { + next_state = SYS_IDLE; + system_state_object.force_state = SYS_MAX; + } + return next_state; +} + +static enum system_state handle_state_collision_drive_back(void) +{ + enum system_state next_state = SYS_COLLISION_DRIVE_BACK; + if(is_transition()) { + system_state_object.last_state = system_state_object.system_state; + char print_buffer[] = "#SYS_ST: COLLISION_DRIVE_BACK\r\n"; + shell_write(print_buffer, strlen(print_buffer)); + system_state_object.collision_timer.tick = sys_tick_get_ms() + 500; + system_state_object.collision_timer.running = true; + } + if(system_state_object.collision_timer.running && + (system_state_object.collision_timer.tick > sys_tick_get_ms())) { + drive_ctrl_halt(); + next_state = SYS_COLLISION_TURN; + system_state_object.collision_timer.running = false; + } + if(system_state_object.force_state == SYS_IDLE) { + next_state = SYS_IDLE; + system_state_object.force_state = SYS_MAX; + system_state_object.collision_timer.running = false; + } + return next_state; +} + +static enum system_state handle_state_collision_turn(void) +{ + enum system_state next_state = SYS_COLLISION_TURN; + if(is_transition()) { + system_state_object.last_state = system_state_object.system_state; + char print_buffer[] = "#SYS_ST: COLLISION_TURN\r\n"; + shell_write(print_buffer, strlen(print_buffer)); + drv_open(&rng); + // random number between 500 and 4000 + int sleep = drv_read(&rng, NULL, 0) % 3500 + 500; + system_state_object.collision_timer.tick = sys_tick_get_ms() + sleep; + system_state_object.collision_timer.running = true; + // randomize turn direction + if(sleep % 2) + drive_ctrl_turn_left(); + else + drive_ctrl_turn_right(); + } + if(system_state_object.collision_timer.running && + (system_state_object.collision_timer.tick > sys_tick_get_ms())) { + drive_ctrl_halt(); + next_state = system_state_object.saved_state; + system_state_object.collision_timer.running = false; + } + if(system_state_object.force_state == SYS_IDLE) { + next_state = SYS_IDLE; + system_state_object.force_state = SYS_MAX; + system_state_object.collision_timer.running = false; + } + return next_state; +} + +int system_state_poll(void) +{ + enum system_state next_state = SYS_MAX; + switch(system_state_object.system_state) { + case SYS_INIT: + next_state = handle_state_init(); + break; + case SYS_IDLE: + next_state = handle_state_idle(); + break; + case SYS_DRIVING: + next_state = handle_state_driving(); + break; + case SYS_COLLISION_DETECTED: + next_state = handle_state_collision_detected(); + break; + case SYS_COLLISION_DRIVE_BACK: + next_state = handle_state_collision_drive_back(); + break; + case SYS_COLLISION_TURN: + next_state = handle_state_collision_turn(); + break; + case SYS_MAX: + break; + } + if(next_state < SYS_MAX) { + system_state_object.system_state = next_state; + return 0; + } + return -1; +} + +int system_state_force(enum system_state state) +{ + system_state_object.force_state = state; + return 0; +} diff --git a/source/os/release/include/kernel.h b/source/os/release/include/kernel.h index e69f607..ec33802 100644 --- a/source/os/release/include/kernel.h +++ b/source/os/release/include/kernel.h @@ -60,5 +60,6 @@ struct thread_context *thread_create( void thread_exit(void); void sleep_ms(unsigned int ms); +unsigned long sys_tick_get_ms(void); #endif /* SOURCE_FIRMWARE_KERNEL_INTERFACE_KERNEL_H_ */ diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery.a b/source/os/release/libkosmos-arm-stm32f4-discovery.a deleted file mode 120000 index 3117043..0000000 --- a/source/os/release/libkosmos-arm-stm32f4-discovery.a +++ /dev/null @@ -1 +0,0 @@ -libkosmos-arm-stm32f4-discovery-0.1.9.276.a \ No newline at end of file diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery.a b/source/os/release/libkosmos-arm-stm32f4-discovery.a new file mode 100644 index 0000000000000000000000000000000000000000..d235676d037535966e271e4f004cd6117b1cdf24 GIT binary patch literal 498574 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 I3<$sf59+B+#Q*>R literal 0 HcmV?d00001 From 92448cf9a5a5128afc5619876a643319fb04566a Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Tue, 20 Sep 2016 09:20:05 +0200 Subject: [PATCH 14/18] dead code removed --- source/application/collision_ctrl.c | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/source/application/collision_ctrl.c b/source/application/collision_ctrl.c index 8e53751..4948175 100644 --- a/source/application/collision_ctrl.c +++ b/source/application/collision_ctrl.c @@ -41,35 +41,6 @@ static void collision_ctrl_loop(void *arg) while(1) { int pulse_ns = drv_ioctl(&pwm2_c4, IOCTL_PWM_GET_PULSE_WIDTH_NS, NULL); collision_ctrl_object.distance_mm = 343 * pulse_ns / 1000 / 2; -#if 0 - if(collision_ctrl_object.distance_mm < 300) { - char print_buffer[50]; - if(engine_ctrl_get_current_speed_value() != 0) { - drive_ctrl_halt(); - sprintf(print_buffer, "collision detected (%dmm)...\r\n", collision_ctrl_object.distance_mm); - shell_write(print_buffer, strlen(print_buffer)); - sprintf(print_buffer, "going back...\r\n"); - shell_write(print_buffer, strlen(print_buffer)); - drive_ctrl_backward(); - sleep_ms(500); - drive_ctrl_halt(); - - sprintf(print_buffer, "start turning...\r\n"); - shell_write(print_buffer, strlen(print_buffer)); - drive_ctrl_turn_left(); - sleep_ms(drv_read(&rng, NULL, 0) % 3500 + 500); // rand between 500 and 4000 - drive_ctrl_halt(); - - sprintf(print_buffer, "restart forward...\r\n"); - shell_write(print_buffer, strlen(print_buffer)); - drive_ctrl_forward(); - } - else { - sprintf(print_buffer, "collision detected while not driving 8(\r\n"); - shell_write(print_buffer, strlen(print_buffer)); - } - } -#endif sleep_ms(1); } } From dc2e04e314af4fcbbbb43e8fa2729d4945c90f8b Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Wed, 21 Sep 2016 09:57:13 +0200 Subject: [PATCH 15/18] error correction --- source/application/system_state.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/application/system_state.c b/source/application/system_state.c index 7bba581..f5532ef 100644 --- a/source/application/system_state.c +++ b/source/application/system_state.c @@ -137,7 +137,7 @@ static enum system_state handle_state_collision_drive_back(void) system_state_object.collision_timer.running = true; } if(system_state_object.collision_timer.running && - (system_state_object.collision_timer.tick > sys_tick_get_ms())) { + (system_state_object.collision_timer.tick < sys_tick_get_ms())) { drive_ctrl_halt(); next_state = SYS_COLLISION_TURN; system_state_object.collision_timer.running = false; @@ -159,7 +159,7 @@ static enum system_state handle_state_collision_turn(void) shell_write(print_buffer, strlen(print_buffer)); drv_open(&rng); // random number between 500 and 4000 - int sleep = drv_read(&rng, NULL, 0) % 3500 + 500; + unsigned int sleep = (unsigned int)drv_read(&rng, NULL, 0) % 3500 + 500; system_state_object.collision_timer.tick = sys_tick_get_ms() + sleep; system_state_object.collision_timer.running = true; // randomize turn direction @@ -169,7 +169,7 @@ static enum system_state handle_state_collision_turn(void) drive_ctrl_turn_right(); } if(system_state_object.collision_timer.running && - (system_state_object.collision_timer.tick > sys_tick_get_ms())) { + (system_state_object.collision_timer.tick < sys_tick_get_ms())) { drive_ctrl_halt(); next_state = system_state_object.saved_state; system_state_object.collision_timer.running = false; From 62aba6e8d9c1a1efd56da686d298c6dc88e3278b Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Wed, 21 Sep 2016 15:55:03 +0200 Subject: [PATCH 16/18] new os release --- ...kosmos-arm-stm32f4-discovery-0.1.10.287.a} | Bin 498450 -> 498674 bytes .../release/libkosmos-arm-stm32f4-discovery.a | Bin 498574 -> 44 bytes 2 files changed, 0 insertions(+), 0 deletions(-) rename source/os/release/{libkosmos-arm-stm32f4-discovery-0.1.9.276.a => libkosmos-arm-stm32f4-discovery-0.1.10.287.a} (92%) mode change 100644 => 120000 source/os/release/libkosmos-arm-stm32f4-discovery.a diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.9.276.a b/source/os/release/libkosmos-arm-stm32f4-discovery-0.1.10.287.a similarity index 92% rename from source/os/release/libkosmos-arm-stm32f4-discovery-0.1.9.276.a rename to source/os/release/libkosmos-arm-stm32f4-discovery-0.1.10.287.a index 05fd6e153875915eaa0b164778ee3a147f6755bc..5fc8b5421b35c2e147dcbc55ab5874039bc571bd 100644 GIT binary patch delta 7197 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 diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery.a b/source/os/release/libkosmos-arm-stm32f4-discovery.a deleted file mode 100644 index d235676d037535966e271e4f004cd6117b1cdf24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 498574 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 I3<$sf59+B+#Q*>R diff --git a/source/os/release/libkosmos-arm-stm32f4-discovery.a b/source/os/release/libkosmos-arm-stm32f4-discovery.a new file mode 120000 index 0000000..489e625 --- /dev/null +++ b/source/os/release/libkosmos-arm-stm32f4-discovery.a @@ -0,0 +1 @@ +libkosmos-arm-stm32f4-discovery-0.1.10.287.a \ No newline at end of file From 8a5fa89da6ea15557142439c621a08e7e932bca3 Mon Sep 17 00:00:00 2001 From: tkl Date: Wed, 21 Sep 2016 14:08:22 +0000 Subject: [PATCH 17/18] error correction in system_state.c - close rng after usage --- source/application/system_state.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/application/system_state.c b/source/application/system_state.c index f5532ef..c26e733 100644 --- a/source/application/system_state.c +++ b/source/application/system_state.c @@ -160,6 +160,7 @@ static enum system_state handle_state_collision_turn(void) drv_open(&rng); // random number between 500 and 4000 unsigned int sleep = (unsigned int)drv_read(&rng, NULL, 0) % 3500 + 500; + drv_close(&rng); system_state_object.collision_timer.tick = sys_tick_get_ms() + sleep; system_state_object.collision_timer.running = true; // randomize turn direction From 78e4a17e072b12fd1975e4cf5ae1abc203af2a61 Mon Sep 17 00:00:00 2001 From: tkl Date: Wed, 21 Sep 2016 14:46:27 +0000 Subject: [PATCH 18/18] Numbering for v0.2 --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b25311a..faa25fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,6 @@ variables: SW_MAJOR: "0" - SW_MINOR: "1" + SW_MINOR: "2" APP: "engine_control" before_script: