Statistics
| Branch: | Tag: | Revision:

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

History | View | Annotate | Download (2.642 KB)

1 e545e620 Thomas Schöpping
/*
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_ */