aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/codegen/hal
diff options
context:
space:
mode:
Diffstat (limited to 'pyecsca/codegen/hal')
-rw-r--r--pyecsca/codegen/hal/host/host_hal.h3
-rw-r--r--pyecsca/codegen/hal/stm32f0/stm32f0_hal.c8
-rw-r--r--pyecsca/codegen/hal/stm32f0/stm32f0_hal.h1
-rw-r--r--pyecsca/codegen/hal/stm32f3/stm32f3_hal.c8
-rw-r--r--pyecsca/codegen/hal/stm32f3/stm32f3_hal.h1
5 files changed, 21 insertions, 0 deletions
diff --git a/pyecsca/codegen/hal/host/host_hal.h b/pyecsca/codegen/hal/host/host_hal.h
index ba2fbbe..17b7ff7 100644
--- a/pyecsca/codegen/hal/host/host_hal.h
+++ b/pyecsca/codegen/hal/host/host_hal.h
@@ -1,10 +1,13 @@
#ifndef HOST_HAL_H_
#define HOST_HAL_H_
+#include <stdbool.h>
#include "uart.h"
#define trigger_setup()
#define trigger_high()
+#define trigger_status() false
+#define trigger_flip()
#define trigger_low()
#define init_uart init_uart0
diff --git a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c
index 613a20a..f08a340 100644
--- a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c
+++ b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.c
@@ -107,6 +107,14 @@ bool trigger_status(void)
return trig;
}
+void trigger_flip(void) {
+ if (trig) {
+ trigger_low();
+ } else {
+ trigger_high();
+ }
+}
+
void trigger_low(void)
{
trig = false;
diff --git a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h
index d432304..00df927 100644
--- a/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h
+++ b/pyecsca/codegen/hal/stm32f0/stm32f0_hal.h
@@ -10,6 +10,7 @@ char getch(void);
void trigger_setup(void);
void trigger_low(void);
bool trigger_status(void);
+void trigger_flip(void);
void trigger_high(void);
void led_error(unsigned int status);
diff --git a/pyecsca/codegen/hal/stm32f3/stm32f3_hal.c b/pyecsca/codegen/hal/stm32f3/stm32f3_hal.c
index c07fe87..9f40104 100644
--- a/pyecsca/codegen/hal/stm32f3/stm32f3_hal.c
+++ b/pyecsca/codegen/hal/stm32f3/stm32f3_hal.c
@@ -109,6 +109,14 @@ bool trigger_status(void)
return trig;
}
+void trigger_flip(void) {
+ if (trig) {
+ trigger_low();
+ } else {
+ trigger_high();
+ }
+}
+
void trigger_low(void)
{
trig = false;
diff --git a/pyecsca/codegen/hal/stm32f3/stm32f3_hal.h b/pyecsca/codegen/hal/stm32f3/stm32f3_hal.h
index 156a012..fb13792 100644
--- a/pyecsca/codegen/hal/stm32f3/stm32f3_hal.h
+++ b/pyecsca/codegen/hal/stm32f3/stm32f3_hal.h
@@ -30,6 +30,7 @@ char getch(void);
void trigger_setup(void);
void trigger_low(void);
bool trigger_status(void);
+void trigger_flip(void);
void trigger_high(void);
void led_error(unsigned int x);