agileRTOS (zrtos)  Version 0.8.0 (ghostbuster)
avr_software_emulator.h File Reference
#include <avr/interrupt.h>
#include <avr/wdt.h>
Include dependency graph for avr_software_emulator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ZRTOS_BOARD__FOUND
 
#define ZRTOS_BOARD__TICK_PERIOD_MS   1
 
#define ZRTOS_BOARD__WATCH_DOG_START()   wdt_enable(WDTO_8S);
 
#define ZRTOS_BOARD__WATCH_DOG_STOP()   wdt_disable();
 
#define ZRTOS_BOARD__WATCH_DOG_RESET()   wdt_reset();
 

Functions

void zrtos_board__start_tick_timer (void)
 
void zrtos_board__stop_tick_timer (void)
 
 ISR (TIMER1_COMPA_vect, ISR_NAKED)
 
 ISR (WDT_vect, ISR_NAKED)
 

Macro Definition Documentation

◆ ZRTOS_BOARD__FOUND

#define ZRTOS_BOARD__FOUND

Definition at line 15 of file avr_software_emulator.h.

◆ ZRTOS_BOARD__TICK_PERIOD_MS

#define ZRTOS_BOARD__TICK_PERIOD_MS   1

Definition at line 22 of file avr_software_emulator.h.

◆ ZRTOS_BOARD__WATCH_DOG_RESET

#define ZRTOS_BOARD__WATCH_DOG_RESET ( )    wdt_reset();

Definition at line 63 of file avr_software_emulator.h.

◆ ZRTOS_BOARD__WATCH_DOG_START

#define ZRTOS_BOARD__WATCH_DOG_START ( )    wdt_enable(WDTO_8S);

Definition at line 57 of file avr_software_emulator.h.

◆ ZRTOS_BOARD__WATCH_DOG_STOP

#define ZRTOS_BOARD__WATCH_DOG_STOP ( )    wdt_disable();

Definition at line 60 of file avr_software_emulator.h.

Function Documentation

◆ ISR() [1/2]

ISR ( TIMER1_COMPA_vect  ,
ISR_NAKED   
)

Definition at line 48 of file avr_software_emulator.h.

48  {
51  //avr/time.h system_tick();
55 }
#define ZRTOS_ARCH__SAVE_CPU_STATE()
Definition: atmega2560.h:195
#define ZRTOS_ARCH__LOAD_CPU_STATE()
Definition: atmega2560.h:245
void(* zrtos_board__on_tick_naked)(void)
Definition: board.h:34
#define ZRTOS_ARCH__RETURN_FROM_INTERRUPT()
Definition: atmega2560.h:293
void(* zrtos_board__on_tick)(void)
Definition: board.h:33

◆ ISR() [2/2]

ISR ( WDT_vect  ,
ISR_NAKED   
)

Definition at line 66 of file avr_software_emulator.h.

66  {
68 }
#define ZRTOS_ARCH__FATAL()
Definition: atmega2560.h:30

◆ zrtos_board__start_tick_timer()

void zrtos_board__start_tick_timer ( void  )

Definition at line 24 of file avr_software_emulator.h.

24  {
26  // Clear registers
27  TCCR1A = 0;
28  TCCR1B = 0;
29  TCNT1 = 0;
30 
31  // 1000 Hz (16000000/((249+1)*64))
32  OCR1A = 249;
33  // CTC
34  TCCR1B |= (1 << WGM12);
35  // Prescaler 64
36  TCCR1B |= (1 << CS11) | (1 << CS10);
37  // Output Compare Match A Interrupt Enable
38  TIMSK1 |= (1 << OCIE1A);
40 }
#define ZRTOS_ARCH__DISABLE_INTERRUPTS()
Definition: atmega2560.h:44
#define ZRTOS_ARCH__ENABLE_INTERRUPTS()
Definition: atmega2560.h:47

◆ zrtos_board__stop_tick_timer()

void zrtos_board__stop_tick_timer ( void  )

Definition at line 42 of file avr_software_emulator.h.

42  {
44  TIMSK1 &= ~(1 << OCIE1A);
46 }
#define ZRTOS_ARCH__DISABLE_INTERRUPTS()
Definition: atmega2560.h:44
#define ZRTOS_ARCH__ENABLE_INTERRUPTS()
Definition: atmega2560.h:47