1+ /**************************************************************************/
2+ /*!
3+ @file cmd_sysinfo.c
4+ @author Miceuz
5+
6+ @brief Code to execute for cmd_sysinfo in the 'core/cmd'
7+ command-line interpretter.
8+
9+ @section LICENSE
10+
11+ Software License Agreement (BSD License)
12+
13+ Copyright (c) 2012, microBuilder SARL
14+ All rights reserved.
15+
16+ Redistribution and use in source and binary forms, with or without
17+ modification, are permitted provided that the following conditions are met:
18+ 1. Redistributions of source code must retain the above copyright
19+ notice, this list of conditions and the following disclaimer.
20+ 2. Redistributions in binary form must reproduce the above copyright
21+ notice, this list of conditions and the following disclaimer in the
22+ documentation and/or other materials provided with the distribution.
23+ 3. Neither the name of the copyright holders nor the
24+ names of its contributors may be used to endorse or promote products
25+ derived from this software without specific prior written permission.
26+
27+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
28+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
29+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
31+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
32+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
33+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
34+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37+ */
38+ /**************************************************************************/
39+ #include <stdio.h>
40+
41+ #include "projectconfig.h"
42+ #include "core/cmd/cmd.h"
43+ #include "project/commands.h" // Generic helper functions
44+
45+ #include "core/adc/adc.h"
46+
47+ /**************************************************************************/
48+ /*!
49+ PWM command handler
50+ */
51+ /**************************************************************************/
52+
53+ void cmd_adc_read (uint8_t argc , char * * argv ) {
54+ int32_t channel = 0 ;
55+ int32_t numReads = 1 ;
56+
57+ getNumber (argv [0 ], & channel );
58+ if (channel < 0 )
59+ {
60+ printf ("Invalid duty channel, only channels [0..2] avalable%s" , CFG_PRINTF_NEWLINE );
61+ return ;
62+ }
63+
64+ if (argc > 1 ) {
65+ getNumber (argv [1 ], & numReads );
66+ if (numReads < 1 )
67+ {
68+ printf ("Invalid number of reads [1..65535]%s" , CFG_PRINTF_NEWLINE );
69+ return ;
70+ }
71+ }
72+ adcInit ();
73+ int i = 0 ;
74+ for (i = 0 ; i < numReads ; i ++ ) {
75+ uint32_t result = adcReadSingle (channel );
76+ printf ("%d%s" , (uint16_t )result , CFG_PRINTF_NEWLINE );
77+ }
78+ }
0 commit comments