altos: Hacks to test PWM output on EasyMega easymega-pwm-hacks
authorKeith Packard <keithp@keithp.com>
Sat, 26 Dec 2015 07:25:43 +0000 (23:25 -0800)
committerKeith Packard <keithp@keithp.com>
Sat, 26 Dec 2015 07:30:33 +0000 (23:30 -0800)
This uses the companion port chip select pins, which happen to be
connected to tim4.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/easymega-v1.0/Makefile
src/easymega-v1.0/ao_easymega.c
src/easymega-v1.0/ao_pins.h

index c3b360b4afb7d4d2fe6af73e3dd34fdec2088fd5..99a52db91a685227e48908e5d0d0ce265d9112ac 100644 (file)
@@ -100,8 +100,8 @@ ALTOS_SRC = \
        ao_sample.c \
        ao_kalman.c \
        ao_flight.c \
-       ao_companion.c \
        ao_pyro.c \
+       ao_pwm_stm.c \
        $(MATH_SRC) \
        $(PROFILE) \
        $(SAMPLE_PROFILE) \
index e217c33c5436633dceed6f65a30a5e48f211d159..db3a58b04a86edb1ef2ef517d44d5a8b9eb68394 100644 (file)
@@ -24,6 +24,7 @@
 #include <ao_companion.h>
 #include <ao_profile.h>
 #include <ao_eeprom.h>
+#include <ao_pwm.h>
 #if HAS_SAMPLE_PROFILE
 #include <ao_sample_profile.h>
 #endif
@@ -79,7 +80,8 @@ main(void)
 
        ao_usb_init();
        ao_igniter_init();
-       ao_companion_init();
+//     ao_companion_init();
+       ao_pwm_init();
        ao_pyro_init();
 
        ao_config_init();
index a5e556384615a6e6a52b2b4b615de5302c119b66..f8f9cf1851555ec82a9e84f413d30bcbbe21e59f 100644 (file)
@@ -78,7 +78,7 @@
 #define HAS_RADIO              0
 #define HAS_TELEMETRY          0
 #define HAS_APRS               0
-#define HAS_COMPANION          1
+#define HAS_COMPANION          0
 
 #define HAS_SPI_1              1
 #define SPI_1_PA5_PA6_PA7      1       /* Barometer */
@@ -353,4 +353,20 @@ struct ao_adc {
 #define AO_PROFILE             0
 #endif
 
+/*
+ * PWM output
+ */
+
+#define NUM_PWM                        2
+#define PWM_MAX                        1023
+#define AO_PWM_TIMER           stm_tim4
+#define AO_PWM_TIMER_ENABLE    STM_RCC_APB1ENR_TIM4EN
+#define AO_PWM_TIMER_SCALE     1
+
+#define AO_PWM_0_GPIO          (&stm_gpiob)
+#define AO_PWM_0_PIN           6
+
+#define AO_PWM_1_GPIO          (&stm_gpiob)
+#define AO_PWM_1_PIN           7
+
 #endif /* _AO_PINS_H_ */