Line | |
---|
1 | // gyrohandler.cc
|
---|
2 | // Eric Aubourg CEA/DAPNIA/SPP septembre 1999
|
---|
3 |
|
---|
4 | #include <string.h>
|
---|
5 | #include "gyrohandler.h"
|
---|
6 |
|
---|
7 |
|
---|
8 | GyroHandler::GyroHandler() {
|
---|
9 | memset(gyro, 0, 3*nb_per_block*2*sizeof(int4));
|
---|
10 | }
|
---|
11 |
|
---|
12 |
|
---|
13 | GyroHandler::GyroHandler(GyroHandler const& x) {
|
---|
14 | memcpy(gyro, x.gyro, 3*nb_per_block*2*sizeof(int4));
|
---|
15 | }
|
---|
16 |
|
---|
17 | GyroHandler& GyroHandler::operator = (GyroHandler const& x) {
|
---|
18 | memcpy(gyro, x.gyro, 3*nb_per_block*2*sizeof(int4));
|
---|
19 | return *this;
|
---|
20 | }
|
---|
21 |
|
---|
22 | GyroHandler::~GyroHandler() {
|
---|
23 |
|
---|
24 | }
|
---|
25 |
|
---|
26 | void GyroHandler::ProcessBlock(block_type_gyro* blk) {
|
---|
27 | memcpy(gyro, blk->gyro, 3*nb_per_block*2*sizeof(int4));
|
---|
28 | }
|
---|
29 |
|
---|
30 | int4 GyroHandler::getRawSignal(int imesure, int igyro) {
|
---|
31 | if (igyro<0 || igyro>=3) return 0;
|
---|
32 | if (imesure<0 || imesure>=nb_per_block*2) return 0;
|
---|
33 | return gyro[igyro][imesure]-32768;
|
---|
34 | }
|
---|
35 |
|
---|
36 | double GyroHandler::getSignal(int imesure, int igyro) { // V
|
---|
37 | return getRawSignal(imesure, igyro) * 2. / 32768.; // +- 2V dynamique sur 16 bits
|
---|
38 | }
|
---|
39 |
|
---|
40 | double GyroHandler::getSpeed(int imesure, int igyro) {
|
---|
41 | return getSignal(imesure, igyro) * 10;
|
---|
42 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.