Main Page
Classes
Files
File List
File Members
arduino_firmware
arduino_daq
arduino_daq
process_ADCs.cpp
Go to the documentation of this file.
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2016-17, Universidad de Almeria
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above
14
* copyright notice, this list of conditions and the following
15
* disclaimer in the documentation and/or other materials provided
16
* with the distribution.
17
* * Neither the name of Willow Garage, Inc. nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*/
34
35
/*Beginning of Auto generated code by Atmel studio */
36
#include <
Arduino.h
>
37
/*End of auto generated code by Atmel studio */
38
39
#include "
arduinodaq_declarations.h
"
40
#include "
arduinodaq2pc-structs.h
"
41
42
// ADC reading subsystem:
43
uint8_t
num_active_ADC_channels
= 0;
44
uint8_t
ADC_active_channels
[
MAX_ADC_CHANNELS
] = {0,0,0,0,0,0,0,0};
45
unsigned
long
ADC_last_millis
= 0;
46
uint16_t
ADC_sampling_period_ms
= 200;
47
48
void
processADCs
()
49
{
50
if
(!
num_active_ADC_channels
)
51
return
;
52
53
const
unsigned
long
tnow =
millis
();
54
55
if
(tnow-
ADC_last_millis
<
ADC_sampling_period_ms
)
56
return
;
57
58
ADC_last_millis
= tnow;
59
60
uint16_t ADC_readings[
MAX_ADC_CHANNELS
] = {0,0,0,0,0,0,0,0};
61
62
for
(uint8_t i=0;i<
num_active_ADC_channels
;i++)
63
{
64
ADC_readings[i] =
analogRead
(
ADC_active_channels
[i]);
65
}
66
67
// send answer back:
68
TFrame_ADC_readings
tx;
69
tx.
payload
.
timestamp_ms
=
millis
();
70
for
(
int
i=0;i<8;i++) {
71
tx.
payload
.
adc_data
[i] = ADC_readings[i];
72
}
73
tx.
calc_and_update_checksum
();
74
75
Serial.write((uint8_t*)&tx,
sizeof
(tx));
76
}
Arduino.h
TBaseFrame::calc_and_update_checksum
void calc_and_update_checksum()
Definition:
arduinodaq2pc-structs.h:131
arduinodaq2pc-structs.h
MAX_ADC_CHANNELS
#define MAX_ADC_CHANNELS
Definition:
arduinodaq_declarations.h:55
TFrame_ADC_readings_payload_t::timestamp_ms
uint32_t timestamp_ms
Definition:
arduinodaq2pc-structs.h:258
TFrame_ADC_readings_payload_t::adc_data
uint16_t adc_data[8]
Definition:
arduinodaq2pc-structs.h:259
millis
unsigned long millis(void)
Definition:
wiring.c:65
ADC_active_channels
uint8_t ADC_active_channels[MAX_ADC_CHANNELS]
Definition:
process_ADCs.cpp:44
processADCs
void processADCs()
Definition:
process_ADCs.cpp:48
TBaseFrame::payload
Payload payload
Definition:
arduinodaq2pc-structs.h:117
ADC_last_millis
unsigned long ADC_last_millis
Definition:
process_ADCs.cpp:45
TFrame_ADC_readings
Definition:
arduinodaq2pc-structs.h:261
analogRead
int analogRead(uint8_t)
Definition:
wiring_analog.c:38
arduinodaq_declarations.h
num_active_ADC_channels
uint8_t num_active_ADC_channels
Definition:
process_ADCs.cpp:43
ADC_sampling_period_ms
uint16_t ADC_sampling_period_ms
Definition:
process_ADCs.cpp:46
arduino_daq
Author(s):
autogenerated on Mon Jun 10 2019 12:46:03