author | Heinz Junkes <junkes@fhi-berlin.mpg.de> |
Wed, 09 Sep 2015 18:06:59 +0200 | |
changeset 1 | 7029db7ac3db |
permissions | -rw-r--r-- |
1
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
1 |
#include <stdio.h> |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
2 |
#include <string.h> |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
3 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
4 |
#include <dbDefs.h> |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
5 |
#include <registryFunction.h> |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
6 |
#include <subRecord.h> |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
7 |
#include <aSubRecord.h> |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
8 |
#include <epicsExport.h> |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
9 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
10 |
#include "pi_2_dht_read.h" |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
11 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
12 |
#define USED_DHT_TYPE 22 |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
13 |
int aSubReadDHTDebug = 0; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
14 |
unsigned short GPIOPin; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
15 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
16 |
static long aSubReadDHTInit(aSubRecord *precord) |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
17 |
{ |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
18 |
unsigned short *a; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
19 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
20 |
if (aSubReadDHTDebug) |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
21 |
printf("Record %s called aSubReadDHTInit(%p)\n", precord->name, (void*) precord); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
22 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
23 |
a = (unsigned short *)precord->a; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
24 |
GPIOPin = a[0]; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
25 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
26 |
if (aSubReadDHTDebug) |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
27 |
printf("Record %s : GPIOPin = %d\n", precord->name, GPIOPin); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
28 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
29 |
return 0; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
30 |
} |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
31 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
32 |
static long aSubReadDHTProcess(aSubRecord *precord) |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
33 |
{ |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
34 |
float humidity, temperature; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
35 |
int ret; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
36 |
double *vala, *valb; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
37 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
38 |
if (aSubReadDHTDebug) |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
39 |
printf("Record %s called aSubRreadDHTProcess(%p)\n", precord->name, (void*) precord); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
40 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
41 |
ret = pi_2_dht_read(USED_DHT_TYPE, GPIOPin, &humidity, &temperature); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
42 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
43 |
if (aSubReadDHTDebug) |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
44 |
printf(" ret : %d, humidity = %f, temperature = %f\n", ret, humidity, temperature); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
45 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
46 |
if (!ret) { |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
47 |
vala = (double *)precord->vala; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
48 |
valb = (double *)precord->valb; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
49 |
vala[0] = (double)temperature; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
50 |
valb[0] = (double)humidity; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
51 |
} |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
52 |
return 0; |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
53 |
} |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
54 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
55 |
/* Register these symbols for use by IOC code: */ |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
56 |
|
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
57 |
epicsExportAddress(int, aSubReadDHTDebug); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
58 |
epicsRegisterFunction(aSubReadDHTInit); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
59 |
epicsRegisterFunction(aSubReadDHTProcess); |
7029db7ac3db
Add adcPi device support
Heinz Junkes <junkes@fhi-berlin.mpg.de>
parents:
diff
changeset
|
60 |