v2.0.0
cyw43_debug_pins.h
1/*
2 * This file is part of the cyw43-driver
3 *
4 * Copyright (C) 2019-2022 George Robotics Pty Ltd
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright notice,
10 * this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14 * 3. Any redistribution, use, or modification in source or binary form is done
15 * solely for personal benefit and not for any commercial purpose or for
16 * monetary gain.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE LICENSOR AND COPYRIGHT OWNER "AS IS" AND ANY
19 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 * DISCLAIMED. IN NO EVENT SHALL THE LICENSOR OR COPYRIGHT OWNER BE LIABLE FOR
22 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
29 * This software is also available for use with certain devices under different
30 * terms, as set out in the top level LICENSE file. For commercial licensing
31 * options please email contact@georgerobotics.com.au.
32 */
33
39#ifndef CYW43_INCLUDED_CYW43_DEBUG_PINS_H
40#define CYW43_INCLUDED_CYW43_DEBUG_PINS_H
41
42#ifdef PICO_BUILD
43#include "hardware/gpio.h"
44#else
45#undef CYW43_LOGIC_DEBUG
46#endif
47
48static inline void logic_debug_init(void) {
49 #if CYW43_LOGIC_DEBUG
50 const int dbg_start = 2;
51 const int dbg_end = 14;
52 for (int pin = dbg_start; pin <= dbg_end; pin++) {
53 gpio_init(pin);
54 gpio_set_dir(pin, 1);
55 gpio_put(pin, 0);
56 }
57 #endif
58}
59
60static inline void logic_debug_set(uint8_t pin, uint8_t value) {
61 #if CYW43_LOGIC_DEBUG
62 gpio_put(pin, value);
63 #else
64 (void)pin;
65 (void)value;
66 #endif
67}
68
69#define pin_BACKPLANE_WRITE 2
70#define pin_BACKPLANE_READ 3
71#define pin_TX_PKT 4
72#define pin_RX_PKT 5
73#define pin_F2_RX_READY_WAIT 6
74#define pin_WIFI_TX 7
75#define pin_WIFI_RX 8
76#define pin_F1_NOT_READY 9
77#define pin_F1_OVERFLOW 10
78
79#endif // CYW43_INCLUDED_CYW43_DEBUG_PINS_H
gpio.h
gpio_set_dir
static void gpio_set_dir(uint gpio, bool out)
Set a single GPIO direction.
Definition: gpio.h:1340
gpio_put
static void gpio_put(uint gpio, bool value)
Drive a single GPIO high/low.
Definition: gpio.h:1145
gpio_init
void gpio_init(uint gpio)
Initialise a GPIO for (enabled I/O and set func to GPIO_FUNC_SIO)
Definition: gpio.c:281