wifi test

Dependencies:   X_NUCLEO_IKS01A2 mbed-http

Committer:
JMF
Date:
Wed Sep 05 14:28:24 2018 +0000
Revision:
0:24d3eb812fd4
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JMF 0:24d3eb812fd4 1 /*
JMF 0:24d3eb812fd4 2 * Copyright (c) 2012, STMicroelectronics.
JMF 0:24d3eb812fd4 3 * All rights reserved.
JMF 0:24d3eb812fd4 4 *
JMF 0:24d3eb812fd4 5 * Redistribution and use in source and binary forms, with or without
JMF 0:24d3eb812fd4 6 * modification, are permitted provided that the following conditions
JMF 0:24d3eb812fd4 7 * are met:
JMF 0:24d3eb812fd4 8 * 1. Redistributions of source code must retain the above copyright
JMF 0:24d3eb812fd4 9 * notice, this list of conditions and the following disclaimer.
JMF 0:24d3eb812fd4 10 * 2. Redistributions in binary form must reproduce the above copyright
JMF 0:24d3eb812fd4 11 * notice, this list of conditions and the following disclaimer in the
JMF 0:24d3eb812fd4 12 * documentation and/or other materials provided with the distribution.
JMF 0:24d3eb812fd4 13 * 3. Neither the name of the Institute nor the names of its contributors
JMF 0:24d3eb812fd4 14 * may be used to endorse or promote products derived from this software
JMF 0:24d3eb812fd4 15 * without specific prior written permission.
JMF 0:24d3eb812fd4 16 *
JMF 0:24d3eb812fd4 17 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
JMF 0:24d3eb812fd4 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
JMF 0:24d3eb812fd4 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
JMF 0:24d3eb812fd4 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
JMF 0:24d3eb812fd4 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
JMF 0:24d3eb812fd4 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
JMF 0:24d3eb812fd4 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
JMF 0:24d3eb812fd4 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
JMF 0:24d3eb812fd4 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
JMF 0:24d3eb812fd4 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
JMF 0:24d3eb812fd4 27 * SUCH DAMAGE.
JMF 0:24d3eb812fd4 28 *
JMF 0:24d3eb812fd4 29 * This file is part of the Contiki operating system.
JMF 0:24d3eb812fd4 30 *
JMF 0:24d3eb812fd4 31 */
JMF 0:24d3eb812fd4 32 /*---------------------------------------------------------------------------*/
JMF 0:24d3eb812fd4 33 #ifndef __SPIRIT_H__
JMF 0:24d3eb812fd4 34 #define __SPIRIT_H__
JMF 0:24d3eb812fd4 35 /*---------------------------------------------------------------------------*/
JMF 0:24d3eb812fd4 36 #include "radio.h"
JMF 0:24d3eb812fd4 37 #include "SPIRIT_Config.h"
JMF 0:24d3eb812fd4 38 #include "spirit1-config.h"
JMF 0:24d3eb812fd4 39 //#include "spirit1_appli.h"
JMF 0:24d3eb812fd4 40 #include "spirit1-const.h"
JMF 0:24d3eb812fd4 41 /*---------------------------------------------------------------------------*/
JMF 0:24d3eb812fd4 42 extern const struct radio_driver spirit_radio_driver;
JMF 0:24d3eb812fd4 43 void spirit1_interrupt_callback(void);
JMF 0:24d3eb812fd4 44
JMF 0:24d3eb812fd4 45 /* exported from spirit1appli.h */
JMF 0:24d3eb812fd4 46
JMF 0:24d3eb812fd4 47 #include "radio_shield_config.h"
JMF 0:24d3eb812fd4 48 #include "MCU_Interface.h"
JMF 0:24d3eb812fd4 49 #include "SPIRIT_Config.h"
JMF 0:24d3eb812fd4 50 // betzw - WAS: #include "SPIRIT1_Util.h"
JMF 0:24d3eb812fd4 51
JMF 0:24d3eb812fd4 52
JMF 0:24d3eb812fd4 53 #if defined(X_NUCLEO_IDS01A3)
JMF 0:24d3eb812fd4 54 #define USE_SPIRIT1_433MHz
JMF 0:24d3eb812fd4 55 #elif defined(X_NUCLEO_IDS01A4)
JMF 0:24d3eb812fd4 56 #define USE_SPIRIT1_868MHz
JMF 0:24d3eb812fd4 57 #elif defined(X_NUCLEO_IDS01A5)
JMF 0:24d3eb812fd4 58 #define USE_SPIRIT1_915MHz
JMF 0:24d3eb812fd4 59 #else
JMF 0:24d3eb812fd4 60 #error SPIRIT1 Nucleo Shield undefined or unsupported
JMF 0:24d3eb812fd4 61 #endif
JMF 0:24d3eb812fd4 62
JMF 0:24d3eb812fd4 63 /* Uncomment the Link Layer features to be used */
JMF 0:24d3eb812fd4 64 // #define USE_AUTO_ACK
JMF 0:24d3eb812fd4 65 // #define USE_AUTO_ACK_PIGGYBACKING
JMF 0:24d3eb812fd4 66 // #define USE_AUTO_RETRANSMISSION
JMF 0:24d3eb812fd4 67
JMF 0:24d3eb812fd4 68 #if defined(USE_AUTO_ACK)&& defined(USE_AUTO_ACK_PIGGYBACKING)&& defined(USE_AUTO_RETRANSMISSION)
JMF 0:24d3eb812fd4 69 #define USE_STack_PROTOCOL
JMF 0:24d3eb812fd4 70
JMF 0:24d3eb812fd4 71 /* LLP configuration parameters */
JMF 0:24d3eb812fd4 72 #define EN_AUTOACK S_ENABLE
JMF 0:24d3eb812fd4 73 #define EN_PIGGYBACKING S_ENABLE
JMF 0:24d3eb812fd4 74 #define MAX_RETRANSMISSIONS PKT_N_RETX_2
JMF 0:24d3eb812fd4 75
JMF 0:24d3eb812fd4 76 #else
JMF 0:24d3eb812fd4 77 #define USE_BASIC_PROTOCOL
JMF 0:24d3eb812fd4 78
JMF 0:24d3eb812fd4 79 #endif
JMF 0:24d3eb812fd4 80
JMF 0:24d3eb812fd4 81 /* Uncomment the system Operating mode */
JMF 0:24d3eb812fd4 82 //#define USE_LOW_POWER_MODE
JMF 0:24d3eb812fd4 83
JMF 0:24d3eb812fd4 84 #if defined (USE_LOW_POWER_MODE)
JMF 0:24d3eb812fd4 85 #define LPM_ENABLE
JMF 0:24d3eb812fd4 86 #define MCU_STOP_MODE
JMF 0:24d3eb812fd4 87 //#define MCU_SLEEP_MODE
JMF 0:24d3eb812fd4 88 //#define RF_STANDBY
JMF 0:24d3eb812fd4 89 #endif
JMF 0:24d3eb812fd4 90
JMF 0:24d3eb812fd4 91
JMF 0:24d3eb812fd4 92 /* Exported constants --------------------------------------------------------*/
JMF 0:24d3eb812fd4 93
JMF 0:24d3eb812fd4 94 /* Radio configuration parameters */
JMF 0:24d3eb812fd4 95 /* General Remarks:
JMF 0:24d3eb812fd4 96 * Two SPSGRF modules will only communicate when both are having same frequency , same channel number,
JMF 0:24d3eb812fd4 97 * same modulation scheme, same data rate, etc.
JMF 0:24d3eb812fd4 98 * For example, the SPSGRF-915 module supports frequencies 902 to 928 MHz. User can select any frequency
JMF 0:24d3eb812fd4 99 * between this band.
JMF 0:24d3eb812fd4 100 */
JMF 0:24d3eb812fd4 101 #define XTAL_OFFSET_PPM 0
JMF 0:24d3eb812fd4 102 #define INFINITE_TIMEOUT 0.0
JMF 0:24d3eb812fd4 103
JMF 0:24d3eb812fd4 104 #ifdef USE_SPIRIT1_433MHz
JMF 0:24d3eb812fd4 105 #define BASE_FREQUENCY 433.0e6
JMF 0:24d3eb812fd4 106 #endif
JMF 0:24d3eb812fd4 107
JMF 0:24d3eb812fd4 108 #ifdef USE_SPIRIT1_868MHz
JMF 0:24d3eb812fd4 109 #define BASE_FREQUENCY 868.0e6
JMF 0:24d3eb812fd4 110 #endif
JMF 0:24d3eb812fd4 111
JMF 0:24d3eb812fd4 112 #ifdef USE_SPIRIT1_915MHz
JMF 0:24d3eb812fd4 113 #define BASE_FREQUENCY 915.0e6
JMF 0:24d3eb812fd4 114 #endif
JMF 0:24d3eb812fd4 115
JMF 0:24d3eb812fd4 116
JMF 0:24d3eb812fd4 117 /* Addresses configuration parameters */
JMF 0:24d3eb812fd4 118 #define EN_FILT_MY_ADDRESS S_DISABLE
JMF 0:24d3eb812fd4 119 #define MY_ADDRESS 0x24
JMF 0:24d3eb812fd4 120 #define EN_FILT_MULTICAST_ADDRESS S_DISABLE
JMF 0:24d3eb812fd4 121 #define MULTICAST_ADDRESS 0xEE
JMF 0:24d3eb812fd4 122 #define EN_FILT_BROADCAST_ADDRESS S_DISABLE
JMF 0:24d3eb812fd4 123 #define BROADCAST_ADDRESS 0xFF
JMF 0:24d3eb812fd4 124 #define DESTINATION_ADDRESS 0x44
JMF 0:24d3eb812fd4 125 #define EN_FILT_SOURCE_ADDRESS S_DISABLE
JMF 0:24d3eb812fd4 126 #define SOURCE_ADDR_MASK 0xf0
JMF 0:24d3eb812fd4 127 #define SOURCE_ADDR_REF 0x37
JMF 0:24d3eb812fd4 128
JMF 0:24d3eb812fd4 129 #define APPLI_CMD 0x11
JMF 0:24d3eb812fd4 130 #define NWK_CMD 0x22
JMF 0:24d3eb812fd4 131 #define LED_TOGGLE 0xff
JMF 0:24d3eb812fd4 132 #define ACK_OK 0x01
JMF 0:24d3eb812fd4 133 #define MAX_BUFFER_LEN 96
JMF 0:24d3eb812fd4 134 #define TIME_TO_EXIT_RX 3000
JMF 0:24d3eb812fd4 135 #define DELAY_RX_LED_TOGGLE 200
JMF 0:24d3eb812fd4 136 #define DELAY_TX_LED_GLOW 1000
JMF 0:24d3eb812fd4 137 #define LPM_WAKEUP_TIME 100
JMF 0:24d3eb812fd4 138 #define DATA_SEND_TIME 30
JMF 0:24d3eb812fd4 139
JMF 0:24d3eb812fd4 140 #define PREAMBLE_LENGTH PKT_PREAMBLE_LENGTH_04BYTES
JMF 0:24d3eb812fd4 141 #define SYNC_LENGTH PKT_SYNC_LENGTH_4BYTES
JMF 0:24d3eb812fd4 142 #define CONTROL_LENGTH PKT_CONTROL_LENGTH_0BYTES
JMF 0:24d3eb812fd4 143 #define EN_ADDRESS S_DISABLE
JMF 0:24d3eb812fd4 144 #define EN_FEC S_DISABLE
JMF 0:24d3eb812fd4 145 #define CHANNEL_NUMBER 1 // betzw - WAS: 0
JMF 0:24d3eb812fd4 146 #define LENGTH_TYPE PKT_LENGTH_VAR
JMF 0:24d3eb812fd4 147 #define POWER_INDEX 7
JMF 0:24d3eb812fd4 148 #define RECEIVE_TIMEOUT 2000.0 /*change the value for required timeout period*/
JMF 0:24d3eb812fd4 149 #define RSSI_THRESHOLD -120
JMF 0:24d3eb812fd4 150
JMF 0:24d3eb812fd4 151
JMF 0:24d3eb812fd4 152
JMF 0:24d3eb812fd4 153 #define POWER_DBM 11.6
JMF 0:24d3eb812fd4 154 #define CHANNEL_SPACE 100e3
JMF 0:24d3eb812fd4 155 #define FREQ_DEVIATION 127e3
JMF 0:24d3eb812fd4 156 #define BANDWIDTH 540.0e3
JMF 0:24d3eb812fd4 157 #define MODULATION_SELECT GFSK_BT1
JMF 0:24d3eb812fd4 158 #define DATARATE 250000
JMF 0:24d3eb812fd4 159 #define XTAL_OFFSET_PPM 0
JMF 0:24d3eb812fd4 160 #define SYNC_WORD 0x88888888
JMF 0:24d3eb812fd4 161 #define LENGTH_WIDTH 8 // betzw - NOTE: only 255 bytes for payload!!!
JMF 0:24d3eb812fd4 162 #define CRC_MODE PKT_CRC_MODE_16BITS_2
JMF 0:24d3eb812fd4 163 #define EN_WHITENING S_DISABLE
JMF 0:24d3eb812fd4 164 #define INFINITE_TIMEOUT 0.0
JMF 0:24d3eb812fd4 165
JMF 0:24d3eb812fd4 166 // extern volatile FlagStatus xRxDoneFlag, xTxDoneFlag;
JMF 0:24d3eb812fd4 167 // extern volatile FlagStatus PushButtonStatusWakeup;
JMF 0:24d3eb812fd4 168 extern uint16_t wakeupCounter;
JMF 0:24d3eb812fd4 169 extern uint16_t dataSendCounter ;
JMF 0:24d3eb812fd4 170 // extern volatile FlagStatus PushButtonStatusData, datasendFlag;
JMF 0:24d3eb812fd4 171
JMF 0:24d3eb812fd4 172 typedef struct
JMF 0:24d3eb812fd4 173 {
JMF 0:24d3eb812fd4 174 uint8_t Cmdtag;
JMF 0:24d3eb812fd4 175 uint8_t CmdType;
JMF 0:24d3eb812fd4 176 uint8_t CmdLen;
JMF 0:24d3eb812fd4 177 uint8_t Cmd;
JMF 0:24d3eb812fd4 178 uint8_t DataLen;
JMF 0:24d3eb812fd4 179 uint8_t* DataBuff;
JMF 0:24d3eb812fd4 180 }AppliFrame_t;
JMF 0:24d3eb812fd4 181
JMF 0:24d3eb812fd4 182 /*---------------------------------------------------------------------------*/
JMF 0:24d3eb812fd4 183 #endif /* __SPIRIT_H__ */
JMF 0:24d3eb812fd4 184 /*---------------------------------------------------------------------------*/