Ejemplo n.º 1
0
int gprs_SendSocket( lua_State *L, char *REQ)
{
int timeout = luaL_checkinteger(L, 1)*1000000;
const char *DATA = luaL_checkstring( L, 4 );

	if( gprs_SendHeader(L, REQ) == 1 )
	{
		sendCommand(DATA, EOL, EOL, strlen(DATA), timeout);
		prtn("\x1A",1);
		return waitAnswer(3*timeout, MSG_OK, MSG_NOK );
	}

return 0;
}
Ejemplo n.º 2
0
/*
 * Return:	1 --> ok
 * 			2 --> nok
 * 			0 --> timeout
 */
static int gprs_isReady( lua_State* L )
{
char time;
size_t TIMEOUT = luaL_checkinteger(L, 1) * 1000000;

	time = (int)waitAnswer(TIMEOUT, MSG_RDY, MSG_NSIM);
	if( time == 0 )
		time = gprs_Attach(L);

	if( time == -1 )
		time = 0;

	lua_pushinteger(L,time);

	return 1;
}
Ejemplo n.º 3
0
/*
 * Return:
 * 		0 --> OK
 * 		2 --> false
 * 		3 --> http 30x
 * 		4 --> http 40x
 * 		5 --> http 50x
 */
static int gprs_send( lua_State* L )
{
uint8_t result = 3;
int timeout = luaL_checkinteger(L, 1)*1000000;

	if( gprs_StartSocket(L) == 1 )
	{
		result = 4;
		if( gprs_SendSocket(L,"POST") == 1 )
		{
			if( (result = waitAnswer(3*timeout, HTTP_OK, HTTP_NOK )) == 1 )
			{
				sendCommand((char*)CIPCLOSE, MSG_OK, MSG_NOK, strlen(CIPCLOSE), timeout/10);
				result = 0;
			}
		}
	}
	lua_pushinteger(L,result);
	return 1;
}
Ejemplo n.º 4
0
//gprs.register(_10S, URL, PATH, DATA)
static int gprs_register( lua_State* L )
{
uint32_t timeout = luaL_checkinteger(L, 1) * 1000000;
char reg[BUFFER_SZ];

	if( gprs_StartSocket(L) == 1 )
	{
		if( gprs_SendSocket(L,"POST") == 1 )
		{
			if( waitAnswer(3*timeout, HTTP_OK, HTTP_NOK ) == 1 )
			{
				readFrame("}\r\n","}\r\n","\n{",reg,BUFFER_SZ,timeout);
				if( strlen(reg) > 0 )
				{
					lua_pushstring(L, reg);
					return 1;
				}
			}
		}
	}
	return 0;
}
Ejemplo n.º 5
0
void* PingProcessor::run(){
    int i = 0;
    //régler le i adéquat
  while(true){
      if(i==10){
          std::stringstream ss;
          ss<<*id;
          ss<<";";
          ss<<"r";
          ss<<";";
          ss<<pos->getX();
          ss<<";";
          ss<<pos->getY();
          ss<<";";
          ss<<pos->getZ();
          ss<<";";
          ss<<*alt;
          ss<<";";
          ss<<speed->getX();
          ss<<";";
          ss<<speed->getY();
          ss<<";";
          ss<<speed->getZ();
          ss<<";";
          ss<<angles->getX();
          ss<<";";
          ss<<angles->getY();
          ss<<";";
          ss<<angles->getZ();
          ss<<";";
          ss<<*charge;
          ss<<";";
          std::string message = ss.str();
          Message* msg = new Message(Message::PING, message, 0);
          moduleCom->addtsMsg(msg);
          waitAnswer(*id);
          *id = *id+1;
          sleep(1);
      }else{
          std::stringstream ss;
          ss<<*id;
          ss<<";";
          ss<<"i";
          ss<<";";
          ss<<posincr->getX();
          ss<<";";
          ss<<posincr->getY();
          ss<<";";
          ss<<posincr->getZ();
          ss<<";";
          ss<<*altincr;
          ss<<";";
          ss<<speedincr->getX();
          ss<<";";
          ss<<speedincr->getY();
          ss<<";";
          ss<<speedincr->getZ();
          ss<<";";
          ss<<angleincr->getX();
          ss<<";";
          ss<<angleincr->getY();
          ss<<";";
          ss<<angleincr->getZ();
          ss<<";";
          ss<<*chargeincr;
          ss<<";";
          std::string message = ss.str();
          Message* msg = new Message(Message::PING, message, 0);
          moduleCom->addtsMsg(msg);
          waitAnswer(*id);
          *id = *id+1;
          sleep(1);

      }
  }
    return 0;
};
Ejemplo n.º 6
0
unsigned char sendCommand(const char *COMMAND, const char *OK, const char *NOK, int len, uint32_t TIMEOUT)
{
	prtn(COMMAND,len);
	return waitAnswer(TIMEOUT, OK, NOK );
}