deamonic=0;
break;
case 'h':
puts("envstored help!\n"
" Kalampoukas Xristos A.M.1024\n"
" -s --scrn print output (to detect problems)\n"
" -h --help print this\n");
exit(1);
break;
default:
printf("Deamon mode\n");
break;
}
}
}
Ανταλλαγή δεδομένων με αισθητήρα:
Η ανάγνωση δεδομένων τελειώνει με το τέλος της do – while. Ο υπόλοιπος κώδικας από εκεί και
κάτω καλεί της συναρτήσεις αποθήκευσης στη βάση δεδομένων και ενεργοποίησης –
απενεργοποίησης των LED αν αυτό είναι απαραίτητο.
static void transfer(int fd)
{
int ret,c=0,ther=0,hyd=0;
uint8_t tx[] = {0xa0};
int maxt,mint,maxh,minh,led1mod = 0,led2mod = 0;
time_t now;
uint8_t rx[ARRAY_SIZE(tx)] = {0, };
struct spi_ioc_transfer tr = {
.tx_buf = (unsigned long)tx,
.rx_buf = (unsigned long)rx,
.len = ARRAY_SIZE(tx),
.delay_usecs = delay,
.speed_hz = speed,
.bits_per_word = bits,
.cs_change = 1,
};
/*Lipsi metrisewn*/
do{
c++;
ret = ioctl(fd, SPI_IOC_MESSAGE(1), &tr);
if (ret < 1){
pabort("can't send spi message");
}
if(c==2) hyd=(int)rx[0];
if(c==3) ther=(int)rx[0];
printf("Esteile %X kai pire %d\n", tx[0],rx[0]);
Σελίδα 55
Comments to this Manuals