summaryrefslogtreecommitdiff
path: root/code/main/teensy_player/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'code/main/teensy_player/src/main.c')
-rw-r--r--code/main/teensy_player/src/main.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/code/main/teensy_player/src/main.c b/code/main/teensy_player/src/main.c
index 5b04ac2..3f84f88 100644
--- a/code/main/teensy_player/src/main.c
+++ b/code/main/teensy_player/src/main.c
@@ -7,8 +7,10 @@
#include <zephyr/drivers/pwm.h>
#include <string.h>
-/* size of stack area used by each thread */
-#define GEN_THRESD_STACKSIZE 1024
+/* Stack sizes (now only one size)*/
+/* To figure out how much is necessary: */
+/* https://zephyr-docs.listenai.com/guides/debug_tools/thread-analyzer.html */
+#define GENERAL_THREAD_STACKSIZE 1024
/*the pinout configuration*/
/*https://docs.zephyrproject.org/latest/boards/pjrc/teensy4/doc/index.html*/
@@ -18,23 +20,21 @@
#define m1pwm1 DT_ALIAS(GPIO4_6) /*pin 4*/
#define m1pwm2 DT_ALIAS(GPIO4_5) /*pin 3*/
/*encoder pins*/
-#define m1encoA 32 /*pin 32*//*encoder number 1*/
-#define Nm1encoA INT_TO_POINTER(0) /*gives encoder number N*/
-#define m1encoB 31 /*pin 31*//*encoder number 2*/
-#define Nm1encoB INT_TO_POINTER(1) /*gives encoder number N*/
-
+#define m1encoA 32 /*pin 32 && encoder number 0*/
+#define Nm1encoA INT_TO_POINTER(0)
+#define m1encoB 31 /*pin 31 && encoder number 1*/
+#define Nm1encoB INT_TO_POINTER(1)
/*set priorities*/
-#define ENC_ISR_PRIO 1 /* set encoder interrupt service routine*/
-
+#define ENC_ISR_PRIO 1
-/*variables*/
/*encoders/PWM/PID*/
#define NUM_ENCODERS 2 /*how many encoder pins there are*/
-volatile int encCount[NUM_ENCODERS] = {0}; /*sets all encoder counts to 0 changes of state*/
+volatile int encCount[NUM_ENCODERS] = {0};
/*misc*/
-#define MY_IRQ_FLAGS 0 /*no IRQ flags*/
+#define NO_IRQ_FLAGS 0
+#define PWM_PERIOD_µS 1600 /*The lengt of an full PWM cycle in microseconds*/
void ENCO_ISR(void *encN){
/*adds one to the encoder where a change of state is detected*/
@@ -46,9 +46,9 @@ void ENCO_ISR(void *encN){
}
void ENC_ISR_installer(void){
- /*sets up the interupts for the encoder at same priority, need to configure FIFO in case of simultaneous call*/
- IRQ_CONNECT(m1encoA, ENC_ISR_PRIO, ENCO_ISR, '0', MY_IRQ_FLAGS);
- IRQ_CONNECT(m1encoB, ENC_ISR_PRIO, ENCO_ISR, '1', MY_IRQ_FLAGS);
+ /*sets up the interrupts for the encoder at same priority, need to configure FIFO in case of simultaneous call*/
+ IRQ_CONNECT(m1encoA, ENC_ISR_PRIO, ENCO_ISR, '0', NO_IRQ_FLAGS);
+ IRQ_CONNECT(m1encoB, ENC_ISR_PRIO, ENCO_ISR, '1', NO_IRQ_FLAGS);
}
int main(void){}