X-Git-Url: https://rtime.felk.cvut.cz/gitweb/hydro.git/blobdiff_plain/36d53962c022f34404564d37184e949db8621559..a31d1798fbccaf3191ec003d0e1f42d226e51918:/app/hydro/hydroponie.c diff --git a/app/hydro/hydroponie.c b/app/hydro/hydroponie.c index 2ba81e9..7f0c321 100644 --- a/app/hydro/hydroponie.c +++ b/app/hydro/hydroponie.c @@ -38,14 +38,15 @@ #include #include #endif + // #include // #include // #include // #include //INCLUDE IN CURRENT DIRECTORY -#include "hydroponie.h" #include "ul_idstr.h" +#include "hydroponie.h" // CONSTANTS #define UL_DEV "/dev/ulan" @@ -76,6 +77,9 @@ ul_fd_t ul_fd1; ul_msginfo msginfo; int addfilt; +adc_stat_t adcst; +// adc_cal_t adccal; + #ifndef UL_WITHOUT_HANDLE //kvpb_block_t *kvpb_block=&kvpb_block_global; uloi_coninfo_t *coninfo=&uloi_coninfo_global; @@ -84,10 +88,10 @@ ul_dyac_t *ul_dyac=&ul_dyac_global; // OBJECT INTERFACE VARIABLES uint16_t status_val; -int16_t oi_temperature = 20; +int16_t oi_temperature; int16_t oi_cid_temp; int16_t oi_per_temp; -int16_t oi_humidity = 100; +int16_t oi_humidity; int16_t oi_cid_hum; int16_t oi_per_hum; @@ -145,8 +149,7 @@ char ul_save_adr(uint8_t uaddr) } -int send_sn(void){ - //declaration +void send_sn(void){ int msgsend; //.preparing of msg @@ -162,7 +165,7 @@ int send_sn(void){ } -int heartbeat(void){ +void heartbeat(void){ //int period; int msgsend, i; int len = HEART_BUF_LEN; @@ -179,13 +182,15 @@ int heartbeat(void){ free(buf); } -int send_data(void) { +void send_data(void) { int msgsend; uchar *buf; int i; int len = DATA_BUF_LEN; - get_data(); + init_adc(); + get_adc(&adcst); +// PC_adc(); //.preparing of msg buf = (uchar *) malloc(len*sizeof(uchar)); // NULL NULL NULL CID_TEMP len_data oi_temperature CID_HUM len_data oi_humidity @@ -193,20 +198,20 @@ int send_data(void) { int2buf(&buf[3],CID_TEMP); int2buf(&buf[5],2); int2buf(&buf[7],oi_temperature); -// int2buf(&buf[9],CID_HUM); -// int2buf(&buf[11],2); -// int2buf(&buf[13],oi_humidity); + int2buf(&buf[9],CID_HUM); + int2buf(&buf[11],2); + int2buf(&buf[13],oi_humidity); - msgsend = ul_send_query(ul_fd, ul_dyac->ul_dysa, UL_CMD_PDO, UL_BFL_NORE, (void*) buf, /*DATA_BUF_LEN*/9); + msgsend = ul_send_query(ul_fd, ul_dyac->ul_dysa, UL_CMD_PDO, UL_BFL_NORE, (void*) buf, DATA_BUF_LEN); printf("[I] DATA\n"); free(buf); ul_freemsg(ul_fd); } -int get_data(void){ +void PC_adc(void){ #ifdef OS_POSIX - oi_temperature = -25000; + oi_temperature = 25; oi_humidity = 99; #else oi_temperature = AD0DR1; @@ -214,7 +219,7 @@ int get_data(void){ #endif } -int accept_SDO(void) { +void accept_SDO(void) { // setting lan configuration if ((ul_inepoll(ul_fd)>0) && (ul_acceptmsg(ul_fd, &msginfo)>=0)) { @@ -308,6 +313,33 @@ void loop(void){ } +void blink(void){ + #ifndef OS_POSIX + while(1){ + int led1 = 200; + int led2 = 0; + mstime_t led1_time, led2_time; + led1_time = current_time(); + led2_time = current_time(); + + if(led1 == 0) IO0SET=LED1_BIT; + else if(led1 == 1) IO0CLR=LED1_BIT; + else if((current_time()-led1_time) > led1){ + IO0PIN=IO0PIN^LED1_BIT; + led1_time+=led1; + } + + if(led2 == 0) IO0SET=LED2_BIT; + else if(led2 == 1) IO0CLR=LED2_BIT; + else if((current_time()-led2_time) > led2){ + IO0PIN=IO0PIN^LED2_BIT; + led2_time+=led2; + } + } + #endif + +} + int main(int argc, char *argv[]) { //opening file descriptor @@ -337,7 +369,9 @@ int main(int argc, char *argv[]) { uldy_init(ul_dyac,ul_fd,ul_save_sn,ul_save_adr,(char*)ul_idstr,sn); loop(); +// blink(); ul_close(ul_fd); + return EXIT_SUCCESS; }