+++ /dev/null
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ul_lib/ulan.h>
-#include <system_def.h>
-#include <cpu_def.h>
-
-// #include <lpciap.h>
-// #include <keyval_id.h>
-// #include <keyval_loc.h>
-// #include <lpciap_kvpb.h>
-
-#include "definitions.h"
-
-//variables
-long sn = SN;
-
-#ifndef UL_WITHOUT_HANDLE
-uloi_coninfo_t *coninfo=&uloi_coninfo_global;
-ul_dyac_t *ul_dyac=&ul_dyac_global;
-// kvpb_block_t *kvpb_block=&kvpb_block_global;
-#endif
-
-// LED variables
-int led1 = 200;
-int led2 = 100;
-
-void long2buf(uchar *buf,unsigned long mod){
- buf[0]=mod>>0;
- buf[1]=mod>>8;
- buf[2]=mod>>16;
- buf[3]=mod>>24;
-}
-
-void int2buf(uchar *buf,int mod){
- buf[0]=mod>>0;
- buf[1]=mod>>8;
-}
-
-mstime_t current_time(){
- mstime_t ret = 0;
-
- #ifdef OS_POSIX
- struct timespec tp;
- if(clock_gettime(CLOCK_REALTIME, &tp) == 0){
- ret = tp.tv_sec*1000;
- ret += tp.tv_nsec/1000000;
- }
- #else
- lt_mstime_update();
- ret = actual_msec;
- #endif
-
- return ret;
-}
-
-void blink(void){
- #ifndef OS_POSIX
- 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 all_init(void){
- // kvpb init
-// kvpb_block->base=(uint8_t*)KEYVAL_START;
-// kvpb_block->size=KEYVAL_PAGE_LEN;
-// kvpb_block->flags=KVPB_DESC_DOUBLE|KVPB_DESC_CHUNKWO;
-// kvpb_block->chunk_size=KVPB_CHUNK_SIZE;
-// kvpb_block->erase=lpcisp_kvpb_erase;
-// kvpb_block->copy=lpcisp_kvpb_copy;
-// kvpb_block->flush=lpcisp_kvpb_flush;
-// printf("Keyval ready\n");
-
- /***********************************/
- // set configuration for device
-// kvpb_get_key(kvpb_block,KVPB_KEYID_ULAN_ADDR,1,&uaddr);
-// kvpb_get_key(kvpb_block,KVPB_KEYID_ULAN_SN,4,&usn);
-//
-// kvpb_get_key(kvpb_block,KVPB_KEYID_ADC_CFG,sizeof(adc_cal_t),&adccal);
-// kvpb_get_key(kvpb_block,KVPB_KEYID_CON_PARAM,sizeof(pid_con_param_t),&con_param);
-// kvpb_get_key(kvpb_block,KVPB_KEYID_APPL_PARAM,sizeof(appl_param_t),&appl_param);
-// printf("Keyval variables read\n");
-
- //opening file descriptor
- ul_fd = ul_open(NULL,NULL);
- ul_fd1 = ul_open(NULL,NULL);
- if ((ul_fd == UL_FD_INVALID) || (ul_fd1 == UL_FD_INVALID)){
- printf("error in creating ul_fd\n");
- return -1;
- }
-
- //memory set and filter set
- memset(&msginfo,0,sizeof(msginfo));
- addfilt=ul_addfilt(ul_fd,&msginfo);
- if(addfilt<0) {
- printf("spy_messages : add filter failed\n");
- return addfilt;
- }
-
- setmyaddr();
- ul_setidstr(ul_fd,ul_idstr);
-
- // uLan object interface init
- coninfo->cmd = UL_CMD_OISV;
- coninfo->sn = SN;
- coninfo->bsn = 0;
- coninfo->ul_fd = ul_fd;
- coninfo->ul_fd1 = ul_fd1;
-
- oiinit();
-
- // uLan dyac init
- uldy_init(ul_dyac,ul_fd,ul_save_sn,ul_save_adr,(char*)ul_idstr,sn);
-
- return 0;
-
-}
-
-void send_sn(void){
- int msgsend;
-
- //.preparing of msg
- uchar buf_out[ULDY_TMBUF_LEN];
- buf_out[0]=ULNCS_ADR_RQ;
- long2buf(&buf_out[1],sn);
-
- //address set and sign on the ulan
- msgsend = ul_send_command(ul_fd, msginfo.dadr, UL_CMD_NCS, UL_BFL_NORE, (void*) buf_out, ULDY_TMBUF_LEN);
- printf("[I] sn was send\n");
- ul_freemsg(ul_fd);
-}
-
-void heartbeat(void){
- //int period;
- int msgsend, i;
- int len = HEART_BUF_LEN;
- uchar *buf;
-
- //.preparing of msg
- buf = (uchar *) malloc(len*sizeof(uchar)); // NULL NULL NULL CID_HEART status_val
- for (i=0; i<=2; i++) buf[i] = 0;
- int2buf(&buf[3],HEART_CID);
- int2buf(&buf[5],2);
- int2buf(&buf[7],status_val);
-
- msgsend = ul_send_command(ul_fd, ul_dyac->ul_dysa, UL_CMD_PDO, UL_BFL_NORE, (void*) buf, HEART_BUF_LEN);
- printf("[I] BEAT\n");
- free(buf);
-}
-
-char ul_save_sn(uint32_t usn){
-// kvpb_set_key(kvpb_block,KVPB_KEYID_ULAN_SN,sizeof(unsigned long),&usn);
- return 0;
-}
-
-char ul_save_adr(uint8_t uaddr){
-// unsigned int v=uaddr;
-// kvpb_set_key(kvpb_block,KVPB_KEYID_ULAN_ADDR,sizeof(unsigned int),&v);
- return 0;
-}