コード例 #1
0
ファイル: main.c プロジェクト: EmuxEvans/lmic
void onEvent (ev_t ev)
{
    debug_event(ev);

    switch(ev)
    {
   
      // network joined, session established
      case EV_JOINED:
          debug_val("\r\nnetid = ", LMIC.netid);

          // immediately prepare next transmission
          debug_str("\r\nSending");
          LMIC.frame[0] = LMIC.snr;
          LMIC_setTxData2(1, LMIC.frame, 1, 0);	// schedule transmission (port 1, datalen 1, no ack requested)
    	  break;
        
      // scheduled data sent (optionally data received)
      case EV_TXCOMPLETE:
          if(LMIC.dataLen) { // data received in rx slot after tx
        	  debug_str("\r\nReceived:");
              debug_buf(LMIC.frame+LMIC.dataBeg, LMIC.dataLen);
          }
          // immediately prepare next transmission
          LMIC.frame[0] = LMIC.snr;
          debug_val("\r\nSending:", LMIC.frame[0]);
			// schedule transmission (port 1, datalen 1, no ack requested)
          LMIC_setTxData2(1, LMIC.frame, 1, 0);
          break;
    }
}
コード例 #2
0
ファイル: main.c プロジェクト: kaaLabs15/LoRa
void onEvent (ev_t ev)
{
	debug_event(ev);

	switch(ev)
	{
	// network joined, session established
	case EV_JOINED:
		debug_val("netid = ", LMIC.netid);
		goto tx;

		// scheduled data sent (optionally data received)
	case EV_TXCOMPLETE:
		if(LMIC.dataLen) { // data received in rx slot after tx
			debug_buf(LMIC.frame+LMIC.dataBeg, LMIC.dataLen);
		}
	tx:
		// immediately prepare next transmission
		LMIC.frame[0] = LMIC.snr;
		// schedule transmission (port 1, datalen 1, no ack requested)
		LMIC_setTxData2(1, LMIC.frame, 1, 0);
		// (will be sent as soon as duty cycle permits)
		break;
	default:
		break;
	}
}
コード例 #3
0
ファイル: main.c プロジェクト: EmuxEvans/lmic
void onEvent (ev_t ev) {
    debug_event(ev);

    switch(ev) {
   
      // network joined, session established
      case EV_JOINED:
          // enable tracking mode, start scanning...
          LMIC_enableTracking(0);
          debug_str("SCANNING...\r\n");
          break;

      // beacon found by scanning
      case EV_BEACON_FOUND:
          // switch LEN on
          debug_led(1);
          break;

      // beacon tracked at expected time
      case EV_BEACON_TRACKED:
          debug_val("GPS time = ", LMIC.bcninfo.time);
          // switch LEN on
          debug_led(1);
          break;

      // beacon missed at expected time
      case EV_BEACON_MISSED:
          // switch LEN off
          debug_led(0);
          break;
    }
}
コード例 #4
0
ファイル: main.c プロジェクト: EmuxEvans/lmic
// report sensor value when change was detected
static void sensorfunc (osjob_t* j) {
    // read sensor
    u2_t val = readsensor();
    debug_val("val = ", val);
    // prepare and schedule data for transmission
    LMIC.frame[0] = val << 8;
    LMIC.frame[1] = val;
    LMIC_setTxData2(1, LMIC.frame, 2, 0); // (port 1, 2 bytes, unconfirmed)
}