transmit example for LMIC_MOTE_L152RC

Dependencies:   lmic_MOTE_L152RC mbed-src

Committer:
dudmuck
Date:
Tue Jun 02 19:12:38 2015 +0000
Revision:
1:1ff358d55507
Parent:
0:cf8cd2f1ab24
use changed library name for LMIC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dudmuck 0:cf8cd2f1ab24 1 #if 0
dudmuck 0:cf8cd2f1ab24 2
dudmuck 0:cf8cd2f1ab24 3 /*******************************************************************************
dudmuck 0:cf8cd2f1ab24 4 * Copyright (c) 2014-2015 IBM Corporation.
dudmuck 0:cf8cd2f1ab24 5 * All rights reserved. This program and the accompanying materials
dudmuck 0:cf8cd2f1ab24 6 * are made available under the terms of the Eclipse Public License v1.0
dudmuck 0:cf8cd2f1ab24 7 * which accompanies this distribution, and is available at
dudmuck 0:cf8cd2f1ab24 8 * http://www.eclipse.org/legal/epl-v10.html
dudmuck 0:cf8cd2f1ab24 9 *
dudmuck 0:cf8cd2f1ab24 10 * Contributors:
dudmuck 0:cf8cd2f1ab24 11 * IBM Zurich Research Lab - initial API, implementation and documentation
dudmuck 0:cf8cd2f1ab24 12 *******************************************************************************/
dudmuck 0:cf8cd2f1ab24 13
dudmuck 0:cf8cd2f1ab24 14 #include "lmic.h"
dudmuck 0:cf8cd2f1ab24 15 #include "debug.h"
dudmuck 0:cf8cd2f1ab24 16 #include "mbed.h"
dudmuck 0:cf8cd2f1ab24 17
dudmuck 0:cf8cd2f1ab24 18 /*#include "gps.h"
dudmuck 0:cf8cd2f1ab24 19 #include "sx9500.h"
dudmuck 0:cf8cd2f1ab24 20 #include "mma8451q.h"
dudmuck 0:cf8cd2f1ab24 21 #include "mpl3115a2.h"
dudmuck 0:cf8cd2f1ab24 22
dudmuck 0:cf8cd2f1ab24 23 GPS gps;
dudmuck 0:cf8cd2f1ab24 24 I2C i2c(I2C_SDA, I2C_SCL);
dudmuck 0:cf8cd2f1ab24 25 SX9500 sx9500(i2c, PA_9);
dudmuck 0:cf8cd2f1ab24 26 MMA8451Q mma8451q(i2c);
dudmuck 0:cf8cd2f1ab24 27 MPL3115A2 mpl3115a2(i2c);*/
dudmuck 0:cf8cd2f1ab24 28
dudmuck 0:cf8cd2f1ab24 29 // LMIC application callbacks not used in his example
dudmuck 0:cf8cd2f1ab24 30 void os_getArtEui (u1_t* buf) {
dudmuck 0:cf8cd2f1ab24 31 }
dudmuck 0:cf8cd2f1ab24 32
dudmuck 0:cf8cd2f1ab24 33 void os_getDevEui (u1_t* buf) {
dudmuck 0:cf8cd2f1ab24 34 }
dudmuck 0:cf8cd2f1ab24 35
dudmuck 0:cf8cd2f1ab24 36 void os_getDevKey (u1_t* buf) {
dudmuck 0:cf8cd2f1ab24 37 }
dudmuck 0:cf8cd2f1ab24 38
dudmuck 0:cf8cd2f1ab24 39 void onEvent (ev_t ev) {
dudmuck 0:cf8cd2f1ab24 40 }
dudmuck 0:cf8cd2f1ab24 41
dudmuck 0:cf8cd2f1ab24 42 /*static u1_t readReg (u1_t addr) {
dudmuck 0:cf8cd2f1ab24 43 hal_pin_nss(0);
dudmuck 0:cf8cd2f1ab24 44 hal_spi(addr & 0x7F);
dudmuck 0:cf8cd2f1ab24 45 u1_t val = hal_spi(0x00);
dudmuck 0:cf8cd2f1ab24 46 hal_pin_nss(1);
dudmuck 0:cf8cd2f1ab24 47 return val;
dudmuck 0:cf8cd2f1ab24 48 }
dudmuck 0:cf8cd2f1ab24 49
dudmuck 0:cf8cd2f1ab24 50 void print_gpio()
dudmuck 0:cf8cd2f1ab24 51 {
dudmuck 0:cf8cd2f1ab24 52 printf("GPIOA->MODER:%08x\r\n", GPIOA->MODER);
dudmuck 0:cf8cd2f1ab24 53 printf("GPIOA->IDR:%04x\r\n", GPIOA->IDR);
dudmuck 0:cf8cd2f1ab24 54 printf("GPIOA->ODR:%04x\r\n", GPIOA->ODR);
dudmuck 0:cf8cd2f1ab24 55 printf("GPIOA->AFR:%x %x\r\n", GPIOA->AFR[0], GPIOA->AFR[1]); // 0x40020020 0x40020024
dudmuck 0:cf8cd2f1ab24 56
dudmuck 0:cf8cd2f1ab24 57 printf("GPIOB->MODER:%08x\r\n", GPIOB->MODER);
dudmuck 0:cf8cd2f1ab24 58 printf("GPIOB->IDR:%04x\r\n", GPIOB->IDR);
dudmuck 0:cf8cd2f1ab24 59 printf("GPIOB->ODR:%04x\r\n", GPIOB->ODR);
dudmuck 0:cf8cd2f1ab24 60 printf("GPIOB->AFR:%x %x\r\n", GPIOB->AFR[0], GPIOB->AFR[1]);
dudmuck 0:cf8cd2f1ab24 61
dudmuck 0:cf8cd2f1ab24 62 printf("GPIOC->MODER:%08x\r\n", GPIOC->MODER);
dudmuck 0:cf8cd2f1ab24 63 printf("GPIOC->IDR:%04x\r\n", GPIOC->IDR);
dudmuck 0:cf8cd2f1ab24 64 printf("GPIOC->ODR:%04x\r\n", GPIOC->ODR);
dudmuck 0:cf8cd2f1ab24 65 printf("GPIOC->AFR:%x %x\r\n", GPIOC->AFR[0], GPIOC->AFR[1]);
dudmuck 0:cf8cd2f1ab24 66 printf("opmode:%02x\r\n", readReg(0x01));
dudmuck 0:cf8cd2f1ab24 67 }*/
dudmuck 0:cf8cd2f1ab24 68
dudmuck 0:cf8cd2f1ab24 69 // counter
dudmuck 0:cf8cd2f1ab24 70 static int cnt = 0;
dudmuck 0:cf8cd2f1ab24 71
dudmuck 0:cf8cd2f1ab24 72 // log text to USART and toggle LED
dudmuck 0:cf8cd2f1ab24 73 static void initfunc (osjob_t* job) {
dudmuck 0:cf8cd2f1ab24 74 //int ms = rand() & 0x7ff; // 0 to 2sec
dudmuck 0:cf8cd2f1ab24 75 //int ms = rand() & 0x7f; //
dudmuck 0:cf8cd2f1ab24 76 //int ms = 1000;
dudmuck 0:cf8cd2f1ab24 77 //int ms_ticks = ms2osticks(ms);
dudmuck 0:cf8cd2f1ab24 78 // say hello
dudmuck 0:cf8cd2f1ab24 79 //debug_str("Hello World!\r\n");
dudmuck 0:cf8cd2f1ab24 80 // log counter
dudmuck 0:cf8cd2f1ab24 81 debug_val("cnt = ", cnt);
dudmuck 0:cf8cd2f1ab24 82 //print_gpio();
dudmuck 0:cf8cd2f1ab24 83 //debug("%d cnt = %d\r\n", ms_ticks, cnt);
dudmuck 0:cf8cd2f1ab24 84 // toggle LED
dudmuck 0:cf8cd2f1ab24 85 debug_led(++cnt & 1);
dudmuck 0:cf8cd2f1ab24 86 // reschedule job every second
dudmuck 0:cf8cd2f1ab24 87 os_setTimedCallback(job, os_getTime()+sec2osticks(1), initfunc);
dudmuck 0:cf8cd2f1ab24 88 //os_setTimedCallback(job, os_getTime()+ms_ticks, initfunc);
dudmuck 0:cf8cd2f1ab24 89 //os_setTimedCallback(job, os_getTime()+sec2osticks(10), initfunc);
dudmuck 0:cf8cd2f1ab24 90 //os_setTimedCallback(job, os_getTime()+ms2osticks(50), initfunc);
dudmuck 0:cf8cd2f1ab24 91 }
dudmuck 0:cf8cd2f1ab24 92
dudmuck 0:cf8cd2f1ab24 93 // application entry point
dudmuck 0:cf8cd2f1ab24 94 int main () {
dudmuck 0:cf8cd2f1ab24 95 osjob_t initjob;
dudmuck 0:cf8cd2f1ab24 96
dudmuck 0:cf8cd2f1ab24 97 /*gps.init();
dudmuck 0:cf8cd2f1ab24 98 sx9500.standby();
dudmuck 0:cf8cd2f1ab24 99 mpl3115a2.SetModeStandby();
dudmuck 0:cf8cd2f1ab24 100 mma8451q.set_active(0);
dudmuck 0:cf8cd2f1ab24 101 gps.enable(false); */
dudmuck 0:cf8cd2f1ab24 102
dudmuck 0:cf8cd2f1ab24 103 // initialize runtime env
dudmuck 0:cf8cd2f1ab24 104 os_init();
dudmuck 0:cf8cd2f1ab24 105 // initialize debug library
dudmuck 0:cf8cd2f1ab24 106 debug_init();
dudmuck 0:cf8cd2f1ab24 107 // setup initial job
dudmuck 0:cf8cd2f1ab24 108 os_setCallback(&initjob, initfunc);
dudmuck 0:cf8cd2f1ab24 109 // execute scheduled jobs and events
dudmuck 0:cf8cd2f1ab24 110 os_runloop();
dudmuck 0:cf8cd2f1ab24 111 // (not reached)
dudmuck 0:cf8cd2f1ab24 112 return 0;
dudmuck 0:cf8cd2f1ab24 113 }
dudmuck 0:cf8cd2f1ab24 114 #endif /* #if 0 */