uC chip interface arduino  0.9.0
A interface for async and neuromrphic IC testing
Loading...
Searching...
No Matches
core_instruction_exec.h
Go to the documentation of this file.
1/*
2 This file is part of the Firmware project to interface with small Async or Neuromorphic chips
3 Copyright (C) 2022-2023 Ole Richter - University of Groningen
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <https://www.gnu.org/licenses/>.
17*/
18#ifndef INSTURCTION_EXEC_H
19#define INSTURCTION_EXEC_H
20
21//EXEC_PRESISION in usec
22#define EXEC_PRESISION 100
23
24#include "core_ring_buffer.h"
25#include "datatypes.h"
28#include "interface_spi.h"
29#include "interface_pin.h"
30#include "interface_i2c.h"
32
33/*
34the instruction execution handles the
35*/
36
37extern volatile bool exec_active;
38extern volatile IntervalTimer myTimer;
39
40void set_time_offset(uint32_t offset);
41void read_time(bool is_ISR_call);
42
43void exec_instruction(packet_t* instruction, bool is_ISR_call);
44
46
47#endif
void exec_instruction(packet_t *instruction, bool is_ISR_call)
void exec_timed_commands()
volatile bool exec_active
void read_time(bool is_ISR_call)
void set_time_offset(uint32_t offset)
volatile IntervalTimer myTimer