Commit dae84b7e authored by Daniel Friesel's avatar Daniel Friesel
Browse files

add aemr_transition_sync driver (for evaluation purposes only)

parent 3f6539e9
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -111,6 +111,10 @@ ifneq ($(findstring resistive_load,${drivers}), )
	CONFIG_driver_resistive_load = y
endif

ifneq ($(findstring aemr_transition_sync,${drivers}), )
	CONFIG_driver_aemr_transition_sync = y
endif

ifneq ($(findstring softi2c,${drivers}), )
	CONFIG_driver_softi2c = y
endif
@@ -241,6 +245,10 @@ ifdef CONFIG_driver_resistive_load
	COMMON_FLAGS += -DRESISTIVE_LOAD_PIN4=GPIO::${resistor4_pin}
endif

ifdef CONFIG_driver_aemr_transition_sync
	CXX_TARGETS += src/driver/aemr_transition_sync.cc
endif

ifdef CONFIG_driver_softi2c
	CXX_TARGETS += src/driver/soft_i2c.cc
	COMMON_FLAGS += -DDRIVER_SOFTI2C
+22 −0
Original line number Diff line number Diff line
#ifndef AEMR_TRANSITION_SYNC_H
#define AEMR_TRANSITION_SYNC_H

class AEMRTransitionSync {
	private:
		AEMRTransitionSync(const AEMRTransitionSync &copy);

	public:
		AEMRTransitionSync() {}
		void setup();
		void transBlip();
		void trans10u();
		void trans100u();
		void trans1m();
		void trans2m();
		void trans5m();
		void trans10m();
};

extern AEMRTransitionSync aemrTransitionSync;

#endif
+58 −0
Original line number Diff line number Diff line
#include "driver/aemr_transition_sync.h"
#include "driver/gpio.h"
#include "arch.h"

void AEMRTransitionSync::setup()
{
	gpio.led_off(0);
}

void AEMRTransitionSync::transBlip()
{
	gpio.led_on(1);
	gpio.led_off(1);
}

void AEMRTransitionSync::trans10u()
{
	gpio.led_on(1);
	arch.delay_us(10);
	gpio.led_off(1);
}

void AEMRTransitionSync::trans100u()
{
	gpio.led_on(1);
	arch.delay_us(100);
	gpio.led_off(1);
}

void AEMRTransitionSync::trans1m()
{
	gpio.led_on(1);
	arch.delay_ms(1);
	gpio.led_off(1);
}

void AEMRTransitionSync::trans2m()
{
	gpio.led_on(1);
	arch.delay_ms(2);
	gpio.led_off(1);
}

void AEMRTransitionSync::trans5m()
{
	gpio.led_on(1);
	arch.delay_ms(5);
	gpio.led_off(1);
}

void AEMRTransitionSync::trans10m()
{
	gpio.led_on(1);
	arch.delay_ms(10);
	gpio.led_off(1);
}

AEMRTransitionSync aemrTransitionSync;