Atmel Software Framework

Peer2Peer.c File Reference

Peer2Peer application implementation.

Copyright (C) 2014-2015 Atmel Corporation. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. The name of Atmel may not be used to endorse or promote products derived from this software without specific prior written permission.
  4. This software may only be redistributed and used in connection with an Atmel microcontroller product.

THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "config.h"
#include "sys.h"
#include "led.h"
#include "sysclk.h"
#include "phy.h"
#include "nwk.h"
#include "sysTimer.h"
#include "sio2host.h"
#include "asf.h"

Macros

#define APP_BUFFER_SIZE   (NWK_MAX_PAYLOAD_SIZE - NWK_SECURITY_MIC_SIZE)
 

Typedefs

typedef enum AppState_t AppState_t
 

Enumerations

enum  AppState_t {
  APP_STATE_INITIAL,
  APP_STATE_IDLE,
  APP_STATE_INITIAL,
  APP_STATE_IDLE,
  APP_STATE_INITIAL,
  APP_STATE_MEASURE_ED,
  APP_STATE_WAIT_SCAN_TIMER,
  APP_STATE_INITIAL,
  APP_STATE_SEND,
  APP_STATE_WAIT_CONF,
  APP_STATE_SENDING_DONE,
  APP_STATE_WAIT_SEND_TIMER,
  APP_STATE_WAIT_COMMAND_TIMER,
  APP_STATE_PREPARE_TO_SLEEP,
  APP_STATE_SLEEP,
  APP_STATE_WAKEUP
}
 

Functions

static void APP_TaskHandler (void)
 
static void appDataConf (NWK_DataReq_t *req)
 
static bool appDataInd (NWK_DataInd_t *ind)
 
static void appInit (void)
 
static void appSendData (void)
 
static void appTimerHandler (SYS_Timer_t *timer)
 
int main (void)
 

Variables

static NWK_DataReq_t appDataReq
 
static uint8_t appDataReqBuffer [APP_BUFFER_SIZE]
 
static bool appDataReqBusy = false
 
static AppState_t appState = APP_STATE_INITIAL
 
static SYS_Timer_t appTimer
 
static uint8_t appUartBuffer [APP_BUFFER_SIZE]
 
static uint8_t appUartBufferPtr = 0
 
static uint8_t rx_data [APP_RX_BUF_SIZE]
 
static uint8_t sio_rx_length
 

#define APP_BUFFER_SIZE   (NWK_MAX_PAYLOAD_SIZE - NWK_SECURITY_MIC_SIZE)

typedef enum AppState_t AppState_t

enum AppState_t
Enumerator
APP_STATE_INITIAL 
APP_STATE_IDLE 
APP_STATE_INITIAL 
APP_STATE_IDLE 
APP_STATE_INITIAL 
APP_STATE_MEASURE_ED 
APP_STATE_WAIT_SCAN_TIMER 
APP_STATE_INITIAL 
APP_STATE_SEND 
APP_STATE_WAIT_CONF 
APP_STATE_SENDING_DONE 
APP_STATE_WAIT_SEND_TIMER 
APP_STATE_WAIT_COMMAND_TIMER 
APP_STATE_PREPARE_TO_SLEEP 
APP_STATE_SLEEP 
APP_STATE_WAKEUP 

static void appDataConf ( NWK_DataReq_t req)
static

References appDataReqBusy.

Referenced by appSendData().

static bool appDataInd ( NWK_DataInd_t ind)
static
static void appTimerHandler ( SYS_Timer_t timer)
static

References appSendData().

Referenced by appInit().

NWK_DataReq_t appDataReq
static
uint8_t appDataReqBuffer[APP_BUFFER_SIZE]
static

Referenced by appSendData().

bool appDataReqBusy = false
static

Referenced by appDataConf(), and appSendData().

AppState_t appState = APP_STATE_INITIAL
static

Referenced by APP_TaskHandler().

SYS_Timer_t appTimer
static
uint8_t appUartBuffer[APP_BUFFER_SIZE]
static

Referenced by APP_TaskHandler(), and appSendData().

uint8_t appUartBufferPtr = 0
static

Referenced by APP_TaskHandler(), and appSendData().

uint8_t rx_data[APP_RX_BUF_SIZE]
static

Referenced by APP_TaskHandler().

uint8_t sio_rx_length
static

Referenced by APP_TaskHandler().