/*
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
Copyright (C) 2016..2019 Thomas Schöpping et al.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
#ifndef _AMIROOS_UT_DW1000_LLD_H_
#define _AMIROOS_UT_DW1000_LLD_H_
#include
#include
#if ((AMIROOS_CFG_TESTS_ENABLE == true) && defined(AMIROLLD_CFG_DW1000) && (AMIROLLD_CFG_DW1000 == 1)) || defined(__DOXYGEN__)
#include
/******************************************************************************/
/* CONSTANTS */
/******************************************************************************/
/******************************************************************************/
/* SETTINGS */
/******************************************************************************/
/******************************************************************************/
/* CHECKS */
/******************************************************************************/
/******************************************************************************/
/* DATA STRUCTURES AND TYPES */
/******************************************************************************/
/******************************************************************************/
/* MACROS */
/******************************************************************************/
/******************************************************************************/
/* EXTERN DECLARATIONS */
/******************************************************************************/
#if defined(__cplusplus)
extern "C" {
#endif /* defined(__cplusplus) */
aos_utresult_t utAlldDw1000Func(BaseSequentialStream* stream, aos_unittest_t* ut);
extern uint8_t s1switch;
extern int instance_anchaddr;
extern int dr_mode;
extern int chan, tagaddr, ancaddr;
extern int instance_mode;
int UWB_Init(DW1000Driver* drv);
int32_t inittestapplication(uint8_t s1switch, DW1000Driver* drv);
int decarangingmode(uint8_t s1switch);
void addressconfigure(uint8_t s1switch, uint8_t mode);
void set_SPI_chip_select(void);
void clear_SPI_chip_select(void);
void reset_DW1000(void);
void setHighSpeed_SPI(bool speedValue, DW1000Driver* drv);
apalGpioState_t port_CheckEXT_IRQ(void) ;
void process_deca_irq(void);
#if defined(__cplusplus)
}
#endif /* defined(__cplusplus) */
/******************************************************************************/
/* INLINE FUNCTIONS */
/******************************************************************************/
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) && defined(AMIROLLD_CFG_DW1000) && (AMIROLLD_CFG_DW1000 == 0) */
#endif /* _AMIROOS_UT_DW1000_LLD_H_ */