]> sigrok.org Git - sigrok-firmware-fx2lafw.git/blob - include/fx2lafw.h
4a2cb8ae186358f620e8aaf40947998162caa98f
[sigrok-firmware-fx2lafw.git] / include / fx2lafw.h
1 /*
2  * This file is part of the sigrok-firmware-fx2lafw project.
3  *
4  * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef FX2LAFW_INCLUDE_FX2LAFW_H
21 #define FX2LAFW_INCLUDE_FX2LAFW_H
22
23 #include <autovector.h>
24
25 #define SYNCDELAY() SYNCDELAY4
26
27 /*
28  * Major and minor fx2lafw firmware version numbers.
29  * These can be queried by the host via CMD_GET_FW_VERSION.
30  *
31  * The minor version number must be increased every time there are
32  * backwards-compatible changes (which do not change the API).
33  *
34  * The major version number must be increased every time there are API
35  * changes or functional changes which require adaptations in the host
36  * (libsigrok) drivers, i.e. changes where old libsigrok versions would no
37  * longer (properly) work with the new fx2lafw firmware.
38  */
39 #define FX2LAFW_VERSION_MAJOR   1
40 #define FX2LAFW_VERSION_MINOR   3
41
42 #define LED_POLARITY            1 /* 1: active-high, 0: active-low */
43
44 #define LED_INIT()              do { PORTACFG = 0; OEA = (1 << 1); } while (0)
45 #define LED_ON()                do { PA1 = LED_POLARITY; } while (0)
46 #define LED_OFF()               do { PA1 = !LED_POLARITY; } while (0)
47 #define LED_TOGGLE()            do { PA1 = !PA1; } while (0)
48
49 #endif