2 * This file is part of the sigrok-firmware-fx2lafw project.
4 * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
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.
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.
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/>.
20 #ifndef FX2LAFW_INCLUDE_FX2LAFW_H
21 #define FX2LAFW_INCLUDE_FX2LAFW_H
23 #include <autovector.h>
25 #define SYNCDELAY() SYNCDELAY4
28 * Major and minor fx2lafw firmware version numbers.
29 * These can be queried by the host via CMD_GET_FW_VERSION.
31 * The minor version number must be increased every time there are
32 * backwards-compatible changes (which do not change the API).
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.
39 #define FX2LAFW_VERSION_MAJOR 1
40 #define FX2LAFW_VERSION_MINOR 2
42 #define LED_POLARITY 1 /* 1: active-high, 0: active-low */
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)