Statistics
| Branch: | Tag: | Revision:

amiro-os / os / unittests / periphery-lld / inc / ut_alld_a3906.h @ e545e620

History | View | Annotate | Download (2.642 KB)

1
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2018  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_A3906_H_
20
#define _AMIROOS_UT_ALLD_A3906_H_
21

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

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

    
27
#include <alld_a3906.h>
28

    
29
/**
30
 * @brief   Custom data structure for the unit test.
31
 */
32
typedef struct {
33
  /**
34
   * @brief   Pointer to the driver to use.
35
   */
36
  A3906Driver* driver;
37

    
38
  /**
39
   * @brief   PWM driver information.
40
   */
41
  struct {
42
    /**
43
     * @brief   The PWM driver to use.
44
     */
45
    apalPWMDriver_t* driver;
46

    
47
    /**
48
     * @brief   PWM channel information.
49
     */
50
    struct {
51
      /**
52
     * @brief   PWM channel for the left wheel forward direction.
53
     */
54
      apalPWMchannel_t left_forward;
55

    
56
      /**
57
     * @brief   PWM channel for the left wheel backward direction.
58
     */
59
      apalPWMchannel_t left_backward;
60

    
61
      /**
62
     * @brief   PWM channel for the right wheel forward direction.
63
     */
64
      apalPWMchannel_t right_forward;
65

    
66
      /**
67
     * @brief   PWM channel for the right wheel backward direction.
68
     */
69
      apalPWMchannel_t right_backward;
70
    } channel;
71
  } pwm;
72

    
73
  /**
74
   * @brief   QEI driver information
75
   */
76
  struct {
77
    /**
78
     * @brief   QEI driver for the left wheel.
79
     */
80
    apalQEIDriver_t* left;
81

    
82
    /**
83
     * @brief   QEI driver for the right wheel.
84
     */
85
    apalQEIDriver_t* right;
86

    
87
    /**
88
     * @brief   QEI increments per wheel revolution.
89
     */
90
    apalQEICount_t increments_per_revolution;
91
  } qei;
92

    
93
  /**
94
   * @brief   Wheel diameter in m.
95
   */
96
  float wheel_diameter;
97

    
98
  /**
99
   * @brief   Timeout value (in us).
100
   */
101
  apalTime_t timeout;
102
} ut_a3906data_t;
103

    
104
#ifdef __cplusplus
105
extern "C" {
106
#endif
107
  aos_utresult_t utAlldA3906Func(BaseSequentialStream* stream, aos_unittest_t* ut);
108
#ifdef __cplusplus
109
}
110
#endif
111

    
112
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) && defined(AMIROLLD_CFG_USE_A3906) */
113

    
114
#endif /* _AMIROOS_UT_ALLD_A3906_H_ */