os lib version 0.1.1

This commit is contained in:
tkl
2016-08-18 22:08:06 +02:00
parent 2afb41faa7
commit 01f708a6e1
10 changed files with 519 additions and 206 deletions

View File

@@ -40,30 +40,30 @@ int drive_ctrl_init(void)
unsigned int duty = 0;
/* open enable pins */
open(drive_ctrl.left_forward->enable);
write(drive_ctrl.left_forward->enable, "0", 1);
open(drive_ctrl.left_backward->enable);
write(drive_ctrl.left_backward->enable, "0", 1);
open(drive_ctrl.right_forward->enable);
write(drive_ctrl.right_forward->enable, "0", 1);
open(drive_ctrl.right_backward->enable);
write(drive_ctrl.right_backward->enable, "0", 1);
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 */
open(drive_ctrl.left_backward->pwm);
ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty);
open(drive_ctrl.left_forward->pwm);
ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty);
open(drive_ctrl.right_backward->pwm);
ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty);
open(drive_ctrl.right_forward->pwm);
ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&duty);
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 */
write(drive_ctrl.left_forward->enable, "1", 1);
write(drive_ctrl.left_backward->enable, "1", 1);
write(drive_ctrl.right_forward->enable, "1", 1);
write(drive_ctrl.right_backward->enable, "1", 1);
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;
}
@@ -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 = ioctl(drive_ctrl.left_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed);
ret |= ioctl(drive_ctrl.left_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed);
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);
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 = ioctl(drive_ctrl.right_backward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&back_speed);
ret |= ioctl(drive_ctrl.right_forward->pwm, IOCTL_PWM_SET_DUTY_CYCLE, (const void *)&front_speed);
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);
return ret;
}

View File

@@ -3,15 +3,14 @@
#ifndef BOARD_DEVICES_H
#define BOARD_DEVICES_H
extern const struct driver gpio_d12;
extern const struct driver gpio_c0;
extern const struct driver gpio_c1;
extern const struct driver gpio_c2;
extern const struct driver gpio_c3;
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 uart_1;
extern const struct driver gpio_c0;
extern const struct driver gpio_c1;
extern const struct driver gpio_c2;
extern const struct driver gpio_c3;
#endif /* BOARD_DEVICES_H */

View File

@@ -1 +1 @@
libkosmos-arm-stm32f4-discovery-0.0.5-dbg.a
libkosmos-arm-stm32f4-discovery-0.1.1-dbg.a

View File

@@ -3,15 +3,14 @@
#ifndef BOARD_DEVICES_H
#define BOARD_DEVICES_H
extern const struct driver gpio_d12;
extern const struct driver gpio_c0;
extern const struct driver gpio_c1;
extern const struct driver gpio_c2;
extern const struct driver gpio_c3;
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 uart_1;
extern const struct driver gpio_c0;
extern const struct driver gpio_c1;
extern const struct driver gpio_c2;
extern const struct driver gpio_c3;
#endif /* BOARD_DEVICES_H */

View File

@@ -1 +1 @@
libkosmos-arm-stm32f4-discovery-0.1.0.a
libkosmos-arm-stm32f4-discovery-0.1.1.a