mirror of
https://github.com/shakemid/pcsensor-temper.git
synced 2025-01-22 01:28:16 +01:00
Reading and displaying the vaule of the external sensor
This commit is contained in:
parent
a11e123fc7
commit
bf36edda47
1 changed files with 20 additions and 12 deletions
32
pcsensor.c
32
pcsensor.c
|
@ -250,7 +250,7 @@ void interrupt_read(usb_dev_handle *dev) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void interrupt_read_temperatura(usb_dev_handle *dev, float *tempC) {
|
void interrupt_read_temperatura(usb_dev_handle *dev, float *tempInC, float *tempOutC) {
|
||||||
|
|
||||||
int r,i, temperature;
|
int r,i, temperature;
|
||||||
unsigned char answer[reqIntLen];
|
unsigned char answer[reqIntLen];
|
||||||
|
@ -271,7 +271,11 @@ void interrupt_read_temperatura(usb_dev_handle *dev, float *tempC) {
|
||||||
|
|
||||||
temperature = (answer[3] & 0xFF) + ((signed char)answer[2] << 8);
|
temperature = (answer[3] & 0xFF) + ((signed char)answer[2] << 8);
|
||||||
temperature += calibration;
|
temperature += calibration;
|
||||||
*tempC = temperature * (125.0 / 32000.0);
|
*tempInC = temperature * (125.0 / 32000.0);
|
||||||
|
|
||||||
|
temperature = (answer[5] & 0xFF) + ((signed char)answer[4] << 8);
|
||||||
|
temperature += calibration;
|
||||||
|
*tempOutC = temperature * (125.0 / 32000.0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -309,7 +313,8 @@ void ex_program(int sig) {
|
||||||
int main( int argc, char **argv) {
|
int main( int argc, char **argv) {
|
||||||
|
|
||||||
usb_dev_handle *lvr_winusb = NULL;
|
usb_dev_handle *lvr_winusb = NULL;
|
||||||
float tempc;
|
float tempInC;
|
||||||
|
float tempOutC;
|
||||||
int c;
|
int c;
|
||||||
struct tm *local;
|
struct tm *local;
|
||||||
time_t t;
|
time_t t;
|
||||||
|
@ -400,18 +405,18 @@ int main( int argc, char **argv) {
|
||||||
|
|
||||||
do {
|
do {
|
||||||
control_transfer(lvr_winusb, uTemperatura );
|
control_transfer(lvr_winusb, uTemperatura );
|
||||||
interrupt_read_temperatura(lvr_winusb, &tempc);
|
interrupt_read_temperatura(lvr_winusb, &tempInC, &tempOutC);
|
||||||
|
|
||||||
t = time(NULL);
|
t = time(NULL);
|
||||||
local = localtime(&t);
|
local = localtime(&t);
|
||||||
|
|
||||||
if (mrtg) {
|
if (mrtg) {
|
||||||
if (formato==2) {
|
if (formato==2) {
|
||||||
printf("%.2f\n", (9.0 / 5.0 * tempc + 32.0));
|
printf("%.2f\n", (9.0 / 5.0 * tempInC + 32.0));
|
||||||
printf("%.2f\n", (9.0 / 5.0 * tempc + 32.0));
|
printf("%.2f\n", (9.0 / 5.0 * tempInC + 32.0));
|
||||||
} else {
|
} else {
|
||||||
printf("%.2f\n", tempc);
|
printf("%.2f\n", tempInC);
|
||||||
printf("%.2f\n", tempc);
|
printf("%.2f\n", tempInC);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%02d:%02d\n",
|
printf("%02d:%02d\n",
|
||||||
|
@ -420,7 +425,7 @@ int main( int argc, char **argv) {
|
||||||
|
|
||||||
printf("pcsensor\n");
|
printf("pcsensor\n");
|
||||||
} else {
|
} else {
|
||||||
printf("%04d/%02d/%02d %02d:%02d:%02d ",
|
printf("%04d/%02d/%02d %02d:%02d:%02d\n",
|
||||||
local->tm_year +1900,
|
local->tm_year +1900,
|
||||||
local->tm_mon + 1,
|
local->tm_mon + 1,
|
||||||
local->tm_mday,
|
local->tm_mday,
|
||||||
|
@ -429,11 +434,14 @@ int main( int argc, char **argv) {
|
||||||
local->tm_sec);
|
local->tm_sec);
|
||||||
|
|
||||||
if (formato==2) {
|
if (formato==2) {
|
||||||
printf("Temperature %.2fF\n", (9.0 / 5.0 * tempc + 32.0));
|
printf("Temperature (internal) %.2fF\n", (9.0 / 5.0 * tempInC + 32.0));
|
||||||
|
printf("Temperature (external) %.2fF\n", (9.0 / 5.0 * tempOutC + 32.0));
|
||||||
} else if (formato==1) {
|
} else if (formato==1) {
|
||||||
printf("Temperature %.2fC\n", tempc);
|
printf("Temperature (internal) %.2fC\n", tempInC);
|
||||||
|
printf("Temperature (external) %.2fC\n", tempOutC);
|
||||||
} else {
|
} else {
|
||||||
printf("Temperature %.2fF %.2fC\n", (9.0 / 5.0 * tempc + 32.0), tempc);
|
printf("Temperature (internal) %.2fF %.2fC\n", (9.0 / 5.0 * tempInC + 32.0), tempInC);
|
||||||
|
printf("Temperature (external) %.2fF %.2fC\n", (9.0 / 5.0 * tempOutC + 32.0), tempOutC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue