45 lines
802 B
C
45 lines
802 B
C
/*
|
|
* misc.h
|
|
*
|
|
* Copyright (C) 2019-2020 Sylvain Munaut <tnt@246tNt.com>
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
enum pdm_chan {
|
|
PDM_CLK_LO = 0,
|
|
PDM_CLK_HI = 1,
|
|
|
|
/* icE1usb */
|
|
PDM_E1_RX0 = 2,
|
|
PDM_E1_RX1 = 3,
|
|
|
|
/* icE1usb-proto */
|
|
PDM_E1_N = 2,
|
|
PDM_E1_P = 3,
|
|
PDM_E1_CT = 4,
|
|
};
|
|
|
|
void pdm_set(int chan, bool enable, unsigned value, bool normalize);
|
|
|
|
void gpio_dir(int n, bool output);
|
|
void gpio_out(int n, bool val);
|
|
bool gpio_in(int n);
|
|
|
|
void e1_led_run(void);
|
|
void e1_led_pause(void);
|
|
void e1_led_set(bool enable, uint8_t cfg);
|
|
|
|
uint16_t e1_tick_read(int port);
|
|
|
|
bool time_elapsed(uint32_t ref, unsigned int tick);
|
|
void delay(unsigned int ms);
|
|
uint32_t time_pps_read(void);
|
|
uint32_t time_now_read(void);
|
|
|
|
void reboot(int fw);
|