Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (4.013 KB)

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

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
#ifndef AMIROOS_UT_ALLD_DW1000_V1_LLD_H
20
#define AMIROOS_UT_ALLD_DW1000_V1_LLD_H
21

    
22
#include <aos_unittest.h>
23
#include <amiro-lld.h>
24

    
25
#if ((AMIROOS_CFG_TESTS_ENABLE == true) && defined(AMIROLLD_CFG_DW1000) && (AMIROLLD_CFG_DW1000 == 1)) || defined(__DOXYGEN__)
26

    
27
#include <alld_DW1000.h>
28

    
29
/******************************************************************************/
30
/* CONSTANTS                                                                  */
31
/******************************************************************************/
32

    
33
/******************************************************************************/
34
/* SETTINGS                                                                   */
35
/******************************************************************************/
36

    
37
/******************************************************************************/
38
/* CHECKS                                                                     */
39
/******************************************************************************/
40

    
41
/******************************************************************************/
42
/* DATA STRUCTURES AND TYPES                                                  */
43
/******************************************************************************/
44

    
45
/**
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
/******************************************************************************/
76
/* MACROS                                                                     */
77
/******************************************************************************/
78

    
79
/******************************************************************************/
80
/* EXTERN DECLARATIONS                                                        */
81
/******************************************************************************/
82

    
83
#if defined(__cplusplus)
84
extern "C" {
85
#endif /* defined(__cplusplus) */
86
  aos_utresult_t utAlldDw1000Func(BaseSequentialStream* stream, aos_unittest_t* ut);
87

    
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
  void wakeup_DW1000(void);
104

    
105
#if defined(__cplusplus)
106
}
107
#endif /* defined(__cplusplus) */
108

    
109
/******************************************************************************/
110
/* INLINE FUNCTIONS                                                           */
111
/******************************************************************************/
112

    
113

    
114
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) && defined(AMIROLLD_CFG_DW1000) && (AMIROLLD_CFG_DW1000 == 1) */
115

    
116
#endif /* AMIROOS_UT_ALLD_DW1000_V1_LLD_H */