Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / DiWheelDrive_1-2 / test / A3906 / module_test_A3906.c @ 4c72a54c

History | View | Annotate | Download (3.6 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
#include <amiroos.h>
20

    
21
#if (AMIROOS_CFG_TESTS_ENABLE == true) || defined(__DOXYGEN__)
22

    
23
#include <module_test_A3906.h>
24
#include <aos_test_A3906.h>
25

    
26
/******************************************************************************/
27
/* LOCAL DEFINITIONS                                                          */
28
/******************************************************************************/
29

    
30
/******************************************************************************/
31
/* EXPORTED VARIABLES                                                         */
32
/******************************************************************************/
33

    
34
/******************************************************************************/
35
/* LOCAL TYPES                                                                */
36
/******************************************************************************/
37

    
38
/******************************************************************************/
39
/* LOCAL VARIABLES                                                            */
40
/******************************************************************************/
41

    
42
static aos_test_a3906data_t _data = {
43
  /* driver           */ &moduleLldMotors,
44
  /* PWM information  */ {
45
    /* driver   */ &MODULE_HAL_PWM_DRIVE,
46
    /* channels */ {
47
      /* left wheel forward   */ MODULE_HAL_PWM_DRIVE_CHANNEL_LEFT_FORWARD,
48
      /* left wheel backward  */ MODULE_HAL_PWM_DRIVE_CHANNEL_LEFT_BACKWARD,
49
      /* right wheel forward  */ MODULE_HAL_PWM_DRIVE_CHANNEL_RIGHT_FORWARD,
50
      /* right wheel backward */ MODULE_HAL_PWM_DRIVE_CHANNEL_RIGHT_BACKWARD,
51
    },
52
  },
53
  /* QEI information  */ {
54
    /* left wheel               */ &MODULE_HAL_QEI_LEFT_WHEEL,
55
    /* right wheel              */ &MODULE_HAL_QEI_RIGHT_WHEEL,
56
    /* increment per revolution */ MODULE_HAL_QEI_INCREMENTS_PER_REVOLUTION,
57
  },
58
  /* Wheel diameter   */ {
59
    /* left wheel   */ 0.05571f,
60
    /* right wheel  */ 0.05571f,
61
  },
62
  /* timeout          */ 10 * MICROSECONDS_PER_SECOND,
63
};
64

    
65
static AOS_TEST(_test, "A3906", "motor driver", moduleTestA3906ShellCb, aosTestA3906Func, &_data);
66

    
67
/******************************************************************************/
68
/* LOCAL FUNCTIONS                                                            */
69
/******************************************************************************/
70

    
71
/******************************************************************************/
72
/* EXPORTED FUNCTIONS                                                         */
73
/******************************************************************************/
74

    
75
int moduleTestA3906ShellCb(BaseSequentialStream* stream, int argc, char* argv[], aos_testresult_t* result)
76
{
77
  (void)argc;
78
  (void)argv;
79

    
80
  if (result != NULL) {
81
    *result = aosTestRun(stream, &_test, NULL);
82
  } else {
83
    aosTestRun(stream, &_test, NULL);
84
  }
85

    
86
  return AOS_OK;
87
}
88

    
89
#endif /* (AMIROOS_CFG_TESTS_ENABLE == true) */