Statistics
| Branch: | Tag: | Revision:

amiro-os / unittests / periphery-lld / inc / ut_alld_DW1000_v1.h @ 88449987

History | View | Annotate | Download (4.013 KB)

1 e05848a6 Robin Ewers
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3 84f0ce9e Thomas Schöpping
Copyright (C) 2016..2019  Thomas Schöpping et al.
4 e05848a6 Robin Ewers

5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19 4cb40108 Thomas Schöpping
#ifndef AMIROOS_UT_ALLD_DW1000_V1_LLD_H
20
#define AMIROOS_UT_ALLD_DW1000_V1_LLD_H
21 e05848a6 Robin Ewers
22 4cb40108 Thomas Schöpping
#include <aos_unittest.h>
23
#include <amiro-lld.h>
24 e05848a6 Robin Ewers
25 4cb40108 Thomas Schöpping
#if ((AMIROOS_CFG_TESTS_ENABLE == true) && defined(AMIROLLD_CFG_DW1000) && (AMIROLLD_CFG_DW1000 == 1)) || defined(__DOXYGEN__)
26 e05848a6 Robin Ewers
27 ddf34c3d Thomas Schöpping
#include <alld_DW1000.h>
28 e05848a6 Robin Ewers
29 f3ac1c96 Thomas Schöpping
/******************************************************************************/
30
/* CONSTANTS                                                                  */
31
/******************************************************************************/
32
33
/******************************************************************************/
34
/* SETTINGS                                                                   */
35
/******************************************************************************/
36
37
/******************************************************************************/
38
/* CHECKS                                                                     */
39
/******************************************************************************/
40
41
/******************************************************************************/
42
/* DATA STRUCTURES AND TYPES                                                  */
43
/******************************************************************************/
44
45 88449987 Cung Sang
/**
46
 * @brief   Custom data structure for the unit test.
47
 */
48
49
#if defined (AMIROLLD_CFG_MIC9404x)
50
typedef struct {
51
  /**
52
   * @brief   DW1000 driver to use.
53
   */
54
  DW1000Driver *dw1000d;
55
56
  /**
57
   * @brief MIC9404x driver to use.
58
  */
59
  MIC9404xDriver  *mic9404xd;
60
61
} ut_dw1000data_t;
62
63
#else
64
typedef struct {
65
  /**
66
   * @brief   DW1000 driver to use.
67
   */
68
  DW1000Driver *dw1000d;
69
70
} ut_dw1000data_t;
71
72
#endif
73
74
75 f3ac1c96 Thomas Schöpping
/******************************************************************************/
76
/* MACROS                                                                     */
77
/******************************************************************************/
78
79
/******************************************************************************/
80
/* EXTERN DECLARATIONS                                                        */
81
/******************************************************************************/
82
83 7de0cc90 Thomas Schöpping
#if defined(__cplusplus)
84 e05848a6 Robin Ewers
extern "C" {
85 7de0cc90 Thomas Schöpping
#endif /* defined(__cplusplus) */
86 e05848a6 Robin Ewers
  aos_utresult_t utAlldDw1000Func(BaseSequentialStream* stream, aos_unittest_t* ut);
87 4cb40108 Thomas Schöpping
88
  extern uint8_t s1switch;
89
  extern int instance_anchaddr;
90
  extern int dr_mode;
91
  extern int chan, tagaddr, ancaddr;
92
  extern int instance_mode;
93
94
  int UWB_Init(DW1000Driver* drv);
95
  int32_t inittestapplication(uint8_t s1switch, DW1000Driver* drv);
96
  int decarangingmode(uint8_t s1switch);
97
  void addressconfigure(uint8_t s1switch, uint8_t mode);
98
  void set_SPI_chip_select(void);
99
  void clear_SPI_chip_select(void);
100
  void reset_DW1000(void);
101
  void setHighSpeed_SPI(bool speedValue, DW1000Driver* drv);
102
  void process_deca_irq(void);
103 88449987 Cung Sang
  void wakeup_DW1000(void);
104 4cb40108 Thomas Schöpping
105 7de0cc90 Thomas Schöpping
#if defined(__cplusplus)
106 e05848a6 Robin Ewers
}
107 7de0cc90 Thomas Schöpping
#endif /* defined(__cplusplus) */
108 e05848a6 Robin Ewers
109 f3ac1c96 Thomas Schöpping
/******************************************************************************/
110
/* INLINE FUNCTIONS                                                           */
111
/******************************************************************************/
112
113 e05848a6 Robin Ewers
114 4cb40108 Thomas Schöpping
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) && defined(AMIROLLD_CFG_DW1000) && (AMIROLLD_CFG_DW1000 == 1) */
115
116
#endif /* AMIROOS_UT_ALLD_DW1000_V1_LLD_H */