Example #1
0
int main(){
	/*
	basStnMsg t = {
		{0},
		13.37f
	};

	t.delta[0] = 100.0f;
	t.delta[1] = 33.0f;
	t.delta[2] = 0.7f;
	*/
	basStnMsg t;
	t.rotors[0] = 8;
	t.rotors[1] = 16;
	t.rotors[2] = 32;
	t.rotors[3] = 64;

	int fd = atOpen("/dev/cu.usbserial-A702LY4I", 9600, 0);
	printf("fd %d\n", fd);

	if(fd > 0){
		int i = 10;
		printf("Opened\n");
		while(1){
			int j = 0, speed = 0;

			scanf("%d", &speed);

			for(j = 4; j--;){
				t.rotors[j] = speed;
			}
			
			atWrite(fd, &t, sizeof(basStnMsg));
		
			// clear it out, and read the response
			bzero(&t, sizeof(basStnMsg));
			//usleep(500000);
			atRead(fd, &t, sizeof(basStnMsg));

			for(j = 0; j < 4; j++){
				printf("Rotor[%d]=%d\n", j, t.rotors[j]);
			}
		}
	}
	else{
		printf("Failed to open");
	}

	printf("Done!\n");

	return 0;
}
Example #2
0
int gsmWork( int flag ){
	
	
		char gsm[255];
		unsigned int sz = sizeof(gsm);
	/*	osDelay(3000);
		sprintf(gsm,"GET /dev.php?devid=1 HTTP/1.1\r\nHost: miss-n.ru\r\nConnection: keep-alive\r\n");
		//strcpy(gsm,"GET /dev.php HTTP/1.1\r\nhost: miss-n.ru\r\nConnection: keep-alive\r\n" );
		if ( gsmSend(gsm, strlen(gsm), 10000 ) != AT_OK  ) return AT_ERROR;
		if ( atRead(gsm, sz, 10000) > 0 ){
				return AT_OK;
	
	 }
		*/
  int res = 0;
	res = bufRecvData(gsm, sizeof(gsm), 20000 );
	if ( res > 0 ){
		  osDelay(50);
			//"#D#160914;151022;5000.6025;N;03769.6834;E;10;100;250;3;8.5;05;6;12.25,78.54;DRIVERCODE;TEST:1:5,TEXT:3:Test text string"
			if ( gsmSend(gsm, strlen(gsm), 10000 ) != AT_OK  ) {
				bufSendData (gsm, strlen(gsm), 1000);
				return AT_ERROR;
			}
			if ( atRead(gsm, sz, 10000) > 0 ){
				return AT_OK;
	
			}
			return -1; //all ok but gps not;
	}else{
		//Ping pong
		//Wialon ping #P#;
		return AT_TIMEOUT; //all ok but gps not;
	}
	//return flag; //no path this
	 
	 
	 
	 
		
	 
	 osDelay(100000);

		return -1;
}