License headers and code style fixes.
This commit is contained in:
parent
875bfd0a1a
commit
fc65757114
|
@ -25,7 +25,7 @@ CONTIKI_CPU_ARCH= watchdog.c \
|
|||
clock.c
|
||||
|
||||
ifdef GCC
|
||||
CONTIKI_CPU_PORT= sysmem.c \
|
||||
CONTIKI_CPU_PORT= syscalls.c \
|
||||
console.c \
|
||||
crt.c \
|
||||
uart.c
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 <stdio.h>
|
||||
#include "contiki.h"
|
||||
|
@ -40,13 +40,14 @@
|
|||
#include "stm32l1xx_hal.h"
|
||||
#include "st-lib.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define RELOAD_VALUE ((F_CPU/CLOCK_CONF_SECOND) - 1)
|
||||
#define RELOAD_VALUE ((F_CPU / CLOCK_CONF_SECOND) - 1)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static volatile unsigned long seconds = 0;
|
||||
static volatile clock_time_t ticks;
|
||||
void st_lib_sys_tick_handler(void);
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void st_lib_sys_tick_handler(void)
|
||||
void
|
||||
st_lib_sys_tick_handler(void)
|
||||
{
|
||||
ticks++;
|
||||
if((ticks % CLOCK_SECOND) == 0) {
|
||||
|
@ -60,29 +61,34 @@ void st_lib_sys_tick_handler(void)
|
|||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void clock_init(void)
|
||||
void
|
||||
clock_init(void)
|
||||
{
|
||||
ticks = 0;
|
||||
st_lib_hal_systick_clk_source_config(SYSTICK_CLKSOURCE_HCLK);
|
||||
st_lib_hal_systick_config(RELOAD_VALUE);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
unsigned long clock_seconds(void)
|
||||
unsigned long
|
||||
clock_seconds(void)
|
||||
{
|
||||
return seconds;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void clock_set_seconds(unsigned long sec)
|
||||
void
|
||||
clock_set_seconds(unsigned long sec)
|
||||
{
|
||||
seconds = sec;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
clock_time_t clock_time(void)
|
||||
clock_time_t
|
||||
clock_time(void)
|
||||
{
|
||||
return ticks;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void clock_delay(unsigned int i)
|
||||
void
|
||||
clock_delay(unsigned int i)
|
||||
{
|
||||
for(; i > 0; i--) {
|
||||
unsigned int j;
|
||||
|
@ -93,10 +99,11 @@ void clock_delay(unsigned int i)
|
|||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Wait for a multiple of clock ticks (7.8 ms at 128 Hz). */
|
||||
void clock_wait(clock_time_t t)
|
||||
void
|
||||
clock_wait(clock_time_t t)
|
||||
{
|
||||
clock_time_t start;
|
||||
start = clock_time();
|
||||
while(clock_time() - start < (clock_time_t)t);
|
||||
while(clock_time() - start < (clock_time_t)t) ;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
|
@ -1,38 +1,32 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file console.c
|
||||
* @author AST
|
||||
* @version V1.0.0
|
||||
* @date 26-Aug-2014
|
||||
* @brief This file provides implementation of standard input/output
|
||||
******************************************************************************
|
||||
* @attention
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* All rights reserved.
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
* 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 <stdio.h>
|
||||
|
@ -49,16 +43,17 @@ extern st_lib_uart_handle_typedef st_lib_uart_handle;
|
|||
* @brief Initialises Nucleo UART port for user IO
|
||||
* @retval 0
|
||||
*/
|
||||
int console_init(void)
|
||||
int
|
||||
console_init(void)
|
||||
{
|
||||
st_lib_uart_handle.Instance = USART2;
|
||||
st_lib_uart_handle.Instance = USART2;
|
||||
|
||||
st_lib_uart_handle.Init.BaudRate = 115200;
|
||||
st_lib_uart_handle.Init.BaudRate = 115200;
|
||||
st_lib_uart_handle.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
st_lib_uart_handle.Init.StopBits = UART_STOPBITS_1;
|
||||
st_lib_uart_handle.Init.Parity = UART_PARITY_NONE;
|
||||
st_lib_uart_handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
st_lib_uart_handle.Init.Mode = UART_MODE_TX_RX;
|
||||
st_lib_uart_handle.Init.StopBits = UART_STOPBITS_1;
|
||||
st_lib_uart_handle.Init.Parity = UART_PARITY_NONE;
|
||||
st_lib_uart_handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
st_lib_uart_handle.Init.Mode = UART_MODE_TX_RX;
|
||||
|
||||
st_lib_hal_uart_init(&st_lib_uart_handle);
|
||||
|
||||
|
@ -69,7 +64,8 @@ int console_init(void)
|
|||
* @param ch Character to send
|
||||
* @retval Character sent
|
||||
*/
|
||||
int uart_send_char(int ch)
|
||||
int
|
||||
uart_send_char(int ch)
|
||||
{
|
||||
st_lib_hal_uart_transmit(&st_lib_uart_handle, (uint8_t *)&ch, 1, HAL_MAX_DELAY);
|
||||
return ch;
|
||||
|
@ -78,7 +74,8 @@ int uart_send_char(int ch)
|
|||
/** @brief Receives a character from serial port
|
||||
* @retval Character received
|
||||
*/
|
||||
int uart_receive_char(void)
|
||||
int
|
||||
uart_receive_char(void)
|
||||
{
|
||||
uint8_t ch;
|
||||
st_lib_hal_uart_receive(&st_lib_uart_handle, &ch, 1, HAL_MAX_DELAY);
|
||||
|
@ -87,7 +84,7 @@ int uart_receive_char(void)
|
|||
st_lib_hal_uart_transmit(&st_lib_uart_handle, &ch, 1, HAL_MAX_DELAY);
|
||||
|
||||
/* And cope with Windows */
|
||||
if(ch == '\r'){
|
||||
if(ch == '\r') {
|
||||
uint8_t ret = '\n';
|
||||
st_lib_hal_uart_transmit(&st_lib_uart_handle, &ret, 1, HAL_MAX_DELAY);
|
||||
}
|
||||
|
@ -95,9 +92,9 @@ int uart_receive_char(void)
|
|||
return ch;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined (__IAR_SYSTEMS_ICC__)
|
||||
#if defined(__IAR_SYSTEMS_ICC__)
|
||||
|
||||
size_t __write(int Handle, const unsigned char * Buf, size_t Bufsize);
|
||||
size_t __write(int Handle, const unsigned char *Buf, size_t Bufsize);
|
||||
size_t __read(int Handle, unsigned char *Buf, size_t Bufsize);
|
||||
|
||||
/** @brief IAR specific low level standard input
|
||||
|
@ -106,79 +103,82 @@ size_t __read(int Handle, unsigned char *Buf, size_t Bufsize);
|
|||
* @param bufsize Number of characters to read
|
||||
* @retval Number of characters read
|
||||
*/
|
||||
size_t __read(int handle, unsigned char *buf, size_t bufsize)
|
||||
size_t
|
||||
__read(int handle, unsigned char *buf, size_t bufsize)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (handle != 0){
|
||||
if(handle != 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
for(i=0; i<bufsize; i++) {
|
||||
for(i = 0; i < bufsize; i++) {
|
||||
buf[i] = uart_receive_char();
|
||||
}
|
||||
|
||||
return bufsize;
|
||||
}
|
||||
|
||||
/** @brief IAR specific low level standard output
|
||||
* @param handle IAR internal handle
|
||||
* @param buf Buffer containing characters to be written to stdout
|
||||
* @param bufsize Number of characters to write
|
||||
* @retval Number of characters read
|
||||
*/
|
||||
size_t __write(int handle, const unsigned char * buf, size_t bufsize)
|
||||
size_t
|
||||
__write(int handle, const unsigned char *buf, size_t bufsize)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (handle != 1 && handle != 2) {
|
||||
if(handle != 1 && handle != 2) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
for(i=0; i< bufsize; i++) {
|
||||
for(i = 0; i < bufsize; i++) {
|
||||
uart_send_char(buf[i]);
|
||||
}
|
||||
|
||||
return bufsize;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#elif defined (__CC_ARM)
|
||||
#elif defined(__CC_ARM)
|
||||
/**
|
||||
* @brief fputc call for standard output implementation
|
||||
* @param ch Character to print
|
||||
* @param f File pointer
|
||||
* @retval Character printed
|
||||
*/
|
||||
int fputc(int ch, FILE *f)
|
||||
int
|
||||
fputc(int ch, FILE *f)
|
||||
{
|
||||
return uart_send_char(ch);
|
||||
}
|
||||
|
||||
/** @brief fgetc call for standard input implementation
|
||||
* @param f File pointer
|
||||
* @retval Character acquired from standard input
|
||||
*/
|
||||
int fgetc(FILE *f)
|
||||
int
|
||||
fgetc(FILE *f)
|
||||
{
|
||||
return uart_receive_char();
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#elif defined (__GNUC__)
|
||||
#elif defined(__GNUC__)
|
||||
|
||||
/** @brief putchar call for standard output implementation
|
||||
* @param ch Character to print
|
||||
* @retval Character printed
|
||||
*/
|
||||
int __io_putchar(int ch)
|
||||
int
|
||||
__io_putchar(int ch)
|
||||
{
|
||||
return uart_send_char(ch);
|
||||
}
|
||||
|
||||
/** @brief getchar call for standard input implementation
|
||||
* @param None
|
||||
* @retval Character acquired from standard input
|
||||
*/
|
||||
int __io_getchar(void)
|
||||
int
|
||||
__io_getchar(void)
|
||||
{
|
||||
return uart_receive_char();
|
||||
}
|
||||
|
|
|
@ -1,45 +1,39 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file console.h
|
||||
* @author AST
|
||||
* @version V1.0.0
|
||||
* @date 26-Aug-2014
|
||||
* @brief This file provides implementation of standard input/output
|
||||
******************************************************************************
|
||||
* @attention
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* All rights reserved.
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if defined (__IAR_SYSTEMS_ICC__)
|
||||
size_t __write(int handle, const unsigned char * buf, size_t bufsize);
|
||||
#if defined(__IAR_SYSTEMS_ICC__)
|
||||
size_t __write(int handle, const unsigned char *buf, size_t bufsize);
|
||||
size_t __read(int handle, unsigned char *buf, size_t bufsize);
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#elif defined (__CC_ARM)
|
||||
#elif defined(__CC_ARM)
|
||||
/**
|
||||
* @brief fputc call for standard output implementation
|
||||
* @param ch Character to print
|
||||
|
@ -54,7 +48,7 @@ int fputc(int ch, FILE *f);
|
|||
*/
|
||||
int fgetc(FILE *f);
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#elif defined (__GNUC__)
|
||||
#elif defined(__GNUC__)
|
||||
/** @brief putchar call for standard output implementation
|
||||
* @param ch Character to print
|
||||
* @retval Character printed
|
||||
|
|
|
@ -1,84 +1,86 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file main.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief source file
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 <stdio.h>
|
||||
#include <sys/stat.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int _lseek (int file,
|
||||
int ptr,
|
||||
int dir)
|
||||
int
|
||||
_lseek(int file,
|
||||
int ptr,
|
||||
int dir)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int _close (int file)
|
||||
int
|
||||
_close(int file)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void _exit (int n)
|
||||
void
|
||||
_exit(int n)
|
||||
{
|
||||
/* FIXME: return code is thrown away. */
|
||||
while(1);
|
||||
while(1) ;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int _kill (int n, int m)
|
||||
int
|
||||
_kill(int n, int m)
|
||||
{
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int _fstat(int file, struct stat *st)
|
||||
int
|
||||
_fstat(int file, struct stat *st)
|
||||
{
|
||||
st->st_mode = S_IFCHR;
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int _isatty (int fd)
|
||||
int
|
||||
_isatty(int fd)
|
||||
{
|
||||
return 1;
|
||||
fd = fd;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int _getpid (int n)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int _open (const char * path, int flags, ...)
|
||||
int
|
||||
_getpid(int n)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int
|
||||
_open(const char *path, int flags, ...)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file console.c
|
||||
* @author AST
|
||||
* @version V1.0.0
|
||||
* @date 26-Aug-2014
|
||||
* @brief This file provides implementation of standard input/output
|
||||
******************************************************************************
|
||||
* @attention
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* All rights reserved.
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/*
|
||||
* Implementation of multithreading in ARM Cortex-M3. To be done.
|
||||
*/
|
||||
|
|
17160
cpu/arm/stm32l152/regs.h
17160
cpu/arm/stm32l152/regs.h
File diff suppressed because it is too large
Load diff
|
@ -1,33 +1,33 @@
|
|||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 "contiki.h"
|
||||
#include "platform-conf.h"
|
||||
|
@ -47,15 +47,17 @@ volatile uint32_t rtimer_clock = 0uL;
|
|||
/*---------------------------------------------------------------------------*/
|
||||
st_lib_tim_handle_typedef htim2;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void st_lib_tim2_irq_handler(void)
|
||||
void
|
||||
st_lib_tim2_irq_handler(void)
|
||||
{
|
||||
/* clear interrupt pending flag */
|
||||
st_lib_hal_tim_clear_it(&htim2, TIM_IT_UPDATE);
|
||||
st_lib_hal_tim_clear_it(&htim2, TIM_IT_UPDATE);
|
||||
|
||||
rtimer_clock++;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void rtimer_arch_init(void)
|
||||
void
|
||||
rtimer_arch_init(void)
|
||||
{
|
||||
st_lib_tim_clock_config_typedef s_clock_source_config;
|
||||
st_lib_tim_oc_init_typedef s_config_oc;
|
||||
|
@ -79,7 +81,6 @@ void rtimer_arch_init(void)
|
|||
s_config_oc.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||||
st_lib_hal_tim_oc_config_channel(&htim2, &s_config_oc, TIM_CHANNEL_1);
|
||||
|
||||
|
||||
st_lib_hal_tim_clear_flag(&htim2, TIM_FLAG_UPDATE);
|
||||
|
||||
/* Enable TIM2 Update interrupt */
|
||||
|
@ -87,18 +88,18 @@ void rtimer_arch_init(void)
|
|||
|
||||
st_lib_hal_tim_enable(&htim2);
|
||||
|
||||
st_lib_hal_nvic_set_priority((st_lib_irq_n_type) TIM2_IRQn, 0, 0);
|
||||
st_lib_hal_nvic_set_priority((st_lib_irq_n_type)TIM2_IRQn, 0, 0);
|
||||
st_lib_hal_nvic_enable_irq((st_lib_irq_n_type)(TIM2_IRQn));
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
rtimer_clock_t rtimer_arch_now(void)
|
||||
rtimer_clock_t
|
||||
rtimer_arch_now(void)
|
||||
{
|
||||
return rtimer_clock;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void rtimer_arch_schedule(rtimer_clock_t t)
|
||||
void
|
||||
rtimer_arch_schedule(rtimer_clock_t t)
|
||||
{
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
66
cpu/arm/stm32l152/syscalls.c
Normal file
66
cpu/arm/stm32l152/syscalls.c
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/*
|
||||
* Function implementation taken and adapted from:
|
||||
* cpu/stm32w108/e_stdio/src/syscalls.c
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
extern int errno;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Register name faking - works in collusion with the linker. */
|
||||
register char *stack_ptr asm ("sp");
|
||||
/*---------------------------------------------------------------------------*/
|
||||
caddr_t
|
||||
_sbrk(int incr)
|
||||
{
|
||||
extern char end; /* Defined by the linker */
|
||||
static char *heap_end;
|
||||
char *prev_heap_end;
|
||||
|
||||
if(heap_end == 0) {
|
||||
heap_end = &end;
|
||||
}
|
||||
prev_heap_end = heap_end;
|
||||
if(heap_end + incr > stack_ptr) {
|
||||
_write(1, "Heap and stack collision\n", 25);
|
||||
/*abort ();*/
|
||||
errno = ENOMEM;
|
||||
return (caddr_t)-1;
|
||||
}
|
||||
|
||||
heap_end += incr;
|
||||
return (caddr_t)prev_heap_end;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
|
@ -1,67 +0,0 @@
|
|||
/**
|
||||
*****************************************************************************
|
||||
**
|
||||
** File : sysmem.c
|
||||
**
|
||||
** Author : Ac6
|
||||
**
|
||||
** Abstract : System Workbench Minimal System Memory calls file
|
||||
**
|
||||
** For more information about which c-functions
|
||||
** need which of these lowlevel functions
|
||||
** please consult the Newlib libc-manual
|
||||
**
|
||||
** Environment : System Workbench for MCU
|
||||
**
|
||||
** Distribution: The file is distributed as is, without any warranty
|
||||
** of any kind.
|
||||
**
|
||||
** (c)Copyright System Workbench for MCU.
|
||||
** You may use this file as-is or modify it according to the needs of your
|
||||
** project. Distribution of this file (unmodified or modified) is not
|
||||
** permitted. System Workbench for MCU permit registered System Workbench(R) users the
|
||||
** rights to distribute the assembled, compiled & linked contents of this
|
||||
** file as part of an application binary file, provided that it is built
|
||||
** using the System Workbench for MCU toolchain.
|
||||
**
|
||||
*****************************************************************************
|
||||
*/
|
||||
|
||||
/* Includes */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Variables */
|
||||
extern int errno;
|
||||
register char * stack_ptr asm("sp");
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* Functions */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
_sbrk
|
||||
Increase program data space. Malloc and related functions depend on this
|
||||
**/
|
||||
caddr_t _sbrk(int incr)
|
||||
{
|
||||
extern char end asm("end");
|
||||
static char *heap_end;
|
||||
char *prev_heap_end;
|
||||
|
||||
if (heap_end == 0) {
|
||||
heap_end = &end;
|
||||
}
|
||||
|
||||
prev_heap_end = heap_end;
|
||||
if (heap_end + incr > stack_ptr) {
|
||||
errno = ENOMEM;
|
||||
return (caddr_t) -1;
|
||||
}
|
||||
|
||||
heap_end += incr;
|
||||
|
||||
return (caddr_t) prev_heap_end;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file cpu/arm/stm32l152/uart.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Source file for UART read/write
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 "console.h"
|
||||
#include <stdio.h>
|
||||
|
@ -43,8 +37,8 @@ _write(int handle, const unsigned char *buffer, size_t size)
|
|||
{
|
||||
int data_idx;
|
||||
|
||||
for (data_idx = 0; data_idx < size; data_idx++) {
|
||||
__io_putchar( *buffer++ );
|
||||
for(data_idx = 0; data_idx < size; data_idx++) {
|
||||
__io_putchar(*buffer++);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
|
|
@ -37,30 +37,25 @@
|
|||
void
|
||||
watchdog_init(void)
|
||||
{
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
watchdog_start(void)
|
||||
{
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
watchdog_periodic(void)
|
||||
{
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
watchdog_stop(void)
|
||||
{
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
watchdog_reboot(void)
|
||||
{
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
|
@ -1,39 +1,39 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file contiki-spirit1-main.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Contiki main file for SPIRIT1 platform
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
******************************************************************************
|
||||
* @file contiki-spirit1-main.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Contiki main file for SPIRIT1 platform
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/**
|
||||
* \file
|
||||
* A very simple Contiki application showing sensor values for ST Nucleo
|
||||
|
@ -66,7 +66,7 @@
|
|||
#define DEBUG DEBUG_PRINT
|
||||
#include "net/ip/uip-debug.h"
|
||||
|
||||
#define PRINT_INTERVAL 5*CLOCK_SECOND
|
||||
#define PRINT_INTERVAL 5 * CLOCK_SECOND
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
PROCESS(sensor_demo_process, "Sensor demo process");
|
||||
|
@ -76,7 +76,7 @@ PROCESS_THREAD(sensor_demo_process, ev, data)
|
|||
{
|
||||
static struct etimer etimer;
|
||||
static unsigned long _button_pressed;
|
||||
static int sensor_value = 0;
|
||||
static int sensor_value = 0;
|
||||
|
||||
PROCESS_BEGIN();
|
||||
PROCESS_PAUSE();
|
||||
|
@ -94,62 +94,59 @@ PROCESS_THREAD(sensor_demo_process, ev, data)
|
|||
SENSORS_ACTIVATE(gyroscope_sensor);
|
||||
#endif
|
||||
|
||||
while(1)
|
||||
{
|
||||
while(1) {
|
||||
etimer_set(&etimer, PRINT_INTERVAL);
|
||||
|
||||
PROCESS_WAIT_EVENT();
|
||||
if (ev == sensors_event && data == &button_sensor)
|
||||
{
|
||||
if(ev == sensors_event && data == &button_sensor) {
|
||||
printf("Sensor event detected: Button Pressed.\n\n");
|
||||
printf("Toggling Leds\n");
|
||||
_button_pressed++;
|
||||
leds_toggle(LEDS_ALL);
|
||||
}
|
||||
|
||||
|
||||
printf("Button state:\t%s (pressed %lu times)\n", button_sensor.value(0)?"Released":"Pressed",
|
||||
_button_pressed);
|
||||
printf("Button state:\t%s (pressed %lu times)\n", button_sensor.value(0) ? "Released" : "Pressed",
|
||||
_button_pressed);
|
||||
|
||||
#ifdef COMPILE_SENSORS
|
||||
printf("LEDs status:\tRED:n/a GREEN:%s\n", leds_get()&LEDS_GREEN?"on":"off");
|
||||
printf("LEDs status:\tRED:n/a GREEN:%s\n", leds_get() & LEDS_GREEN ? "on" : "off");
|
||||
#else
|
||||
printf("LEDs status:\tRED:%s GREEN:%s\n", leds_get()&LEDS_RED?"on":"off",
|
||||
leds_get()&LEDS_GREEN?"on":"off");
|
||||
printf("LEDs status:\tRED:%s GREEN:%s\n", leds_get() & LEDS_RED ? "on" : "off",
|
||||
leds_get() & LEDS_GREEN ? "on" : "off");
|
||||
#endif /*COMPILE_SENSORS*/
|
||||
sensor_value = radio_sensor.value(RADIO_SENSOR_LAST_PACKET);
|
||||
printf("Radio (RSSI):\t%d.%d dBm\n", sensor_value/10, ABS_VALUE(sensor_value)%10);
|
||||
printf("Radio (RSSI):\t%d.%d dBm\n", sensor_value / 10, ABS_VALUE(sensor_value) % 10);
|
||||
printf("Radio (LQI):\t%d\n", radio_sensor.value(RADIO_SENSOR_LAST_VALUE));
|
||||
|
||||
#ifdef COMPILE_SENSORS
|
||||
sensor_value = temperature_sensor.value(0);
|
||||
printf("Temperature:\t%d.%d C\n", sensor_value/10, ABS_VALUE(sensor_value)%10);
|
||||
printf("Temperature:\t%d.%d C\n", sensor_value / 10, ABS_VALUE(sensor_value) % 10);
|
||||
|
||||
sensor_value = humidity_sensor.value(0);
|
||||
printf("Humidity:\t%d.%d rH\n", sensor_value/10, ABS_VALUE(sensor_value)%10);
|
||||
printf("Humidity:\t%d.%d rH\n", sensor_value / 10, ABS_VALUE(sensor_value) % 10);
|
||||
|
||||
sensor_value = pressure_sensor.value(0);
|
||||
printf("Pressure:\t%d.%d mbar\n", sensor_value/10, ABS_VALUE(sensor_value)%10);
|
||||
printf("Pressure:\t%d.%d mbar\n", sensor_value / 10, ABS_VALUE(sensor_value) % 10);
|
||||
|
||||
/* NOTE: this demo uses the mapping of ST Nucleo sensors on Contiki sensor API.
|
||||
* For a real use case of sensors like acceleration, magneto and gyroscope,
|
||||
* it is better to directly call the ST lib to get the three value (X/Y/Z)
|
||||
* at once.
|
||||
*/
|
||||
/* NOTE: this demo uses the mapping of ST Nucleo sensors on Contiki sensor API.
|
||||
* For a real use case of sensors like acceleration, magneto and gyroscope,
|
||||
* it is better to directly call the ST lib to get the three value (X/Y/Z)
|
||||
* at once.
|
||||
*/
|
||||
printf("Magneto:\t%d/%d/%d (X/Y/Z) mgauss\n", magneto_sensor.value(X_AXIS),
|
||||
magneto_sensor.value(Y_AXIS),
|
||||
magneto_sensor.value(Z_AXIS));
|
||||
magneto_sensor.value(Y_AXIS),
|
||||
magneto_sensor.value(Z_AXIS));
|
||||
|
||||
printf("Acceleration:\t%d/%d/%d (X/Y/Z) mg\n", acceleration_sensor.value(X_AXIS),
|
||||
acceleration_sensor.value(Y_AXIS),
|
||||
acceleration_sensor.value(Z_AXIS));
|
||||
acceleration_sensor.value(Y_AXIS),
|
||||
acceleration_sensor.value(Z_AXIS));
|
||||
|
||||
printf("Gyroscope:\t%d/%d/%d (X/Y/Z) mdps\n", gyroscope_sensor.value(X_AXIS),
|
||||
gyroscope_sensor.value(Y_AXIS),
|
||||
gyroscope_sensor.value(Z_AXIS));
|
||||
gyroscope_sensor.value(Y_AXIS),
|
||||
gyroscope_sensor.value(Z_AXIS));
|
||||
#endif
|
||||
|
||||
printf ("\n");
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
PROCESS_END();
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/contiki-conf.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-May-2015
|
||||
* @brief Contiki configuration parameters
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#ifndef __CONTIKI_CONF_H__
|
||||
#define __CONTIKI_CONF_H__
|
||||
|
@ -57,17 +51,14 @@
|
|||
|
||||
#define SICSLOWPAN_CONF_MAC_MAX_PAYLOAD \
|
||||
(NETSTACK_RADIO_MAX_PAYLOAD_LEN - NETSTACK_MAC_HEADER_LEN - \
|
||||
NETSTACK_RDC_HEADER_LEN )
|
||||
|
||||
#define RIMESTATS_CONF_ENABLED 0
|
||||
#define RIMESTATS_CONF_ON 0
|
||||
NETSTACK_RDC_HEADER_LEN)
|
||||
|
||||
#define RIMESTATS_CONF_ENABLED 0
|
||||
#define RIMESTATS_CONF_ON 0
|
||||
|
||||
/* Network setup for IPv6 */
|
||||
|
||||
#define CXMAC_CONF_ANNOUNCEMENTS 0
|
||||
|
||||
|
||||
/* A trick to resolve a compilation error with IAR. */
|
||||
#ifdef __ICCARM__
|
||||
#define UIP_CONF_DS6_AADDR_NBU 1
|
||||
|
@ -86,7 +77,6 @@
|
|||
#define PROCESS_CONF_STATS 1
|
||||
/*#define PROCESS_CONF_FASTPOLL 4*/
|
||||
|
||||
|
||||
#define LINKADDR_CONF_SIZE 8
|
||||
|
||||
#define UIP_CONF_LL_802154 1
|
||||
|
@ -100,10 +90,9 @@
|
|||
#endif /* UIP_CONF_DS6_ROUTE_NBU */
|
||||
|
||||
#define UIP_CONF_ND6_SEND_RA 0
|
||||
#define UIP_CONF_ND6_REACHABLE_TIME 600000 //90000// 600000
|
||||
#define UIP_CONF_ND6_REACHABLE_TIME 600000 /* 90000// 600000 */
|
||||
#define UIP_CONF_ND6_RETRANS_TIMER 10000
|
||||
|
||||
|
||||
#define UIP_CONF_IPV6 1
|
||||
#ifndef UIP_CONF_IPV6_QUEUE_PKT
|
||||
#define UIP_CONF_IPV6_QUEUE_PKT 0
|
||||
|
@ -111,13 +100,12 @@
|
|||
#define UIP_CONF_IP_FORWARD 0
|
||||
#ifndef UIP_CONF_BUFFER_SIZE
|
||||
#define UIP_CONF_BUFFER_SIZE 280
|
||||
//#define UIP_CONF_BUFFER_SIZE 600
|
||||
/* #define UIP_CONF_BUFFER_SIZE 600 */
|
||||
#endif
|
||||
|
||||
#define SICSLOWPAN_CONF_MAXAGE 4
|
||||
#define SICSLOWPAN_CONF_MAX_ADDR_CONTEXTS 2
|
||||
|
||||
|
||||
#ifndef SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS
|
||||
#define SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS 5
|
||||
#endif /* SICSLOWPAN_CONF_MAX_MAC_TRANSMISSIONS */
|
||||
|
@ -140,7 +128,7 @@
|
|||
#define UIP_ARCH_IPCHKSUM 0
|
||||
#define UIP_CONF_UDP 1
|
||||
#define UIP_CONF_UDP_CHECKSUMS 1
|
||||
#define UIP_CONF_TCP 1
|
||||
#define UIP_CONF_TCP 1
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* include the project config */
|
||||
/* PROJECT_CONF_H might be defined in the project Makefile */
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file contiki-spirit1-main.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Contiki main file for stm32nucleo-spirit1 platform
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1
|
||||
* @{
|
||||
|
@ -84,10 +79,10 @@ SENSORS(&button_sensor,
|
|||
&radio_sensor,
|
||||
&temperature_sensor,
|
||||
&humidity_sensor,
|
||||
&pressure_sensor,
|
||||
&magneto_sensor,
|
||||
&pressure_sensor,
|
||||
&magneto_sensor,
|
||||
&acceleration_sensor,
|
||||
&gyroscope_sensor);
|
||||
&gyroscope_sensor);
|
||||
#else /*COMPILE_SENSORS*/
|
||||
SENSORS(&button_sensor,
|
||||
&radio_sensor);
|
||||
|
@ -97,10 +92,10 @@ extern unsigned char node_mac[8];
|
|||
/*---------------------------------------------------------------------------*/
|
||||
#ifdef __GNUC__
|
||||
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
|
||||
set to 'Yes') calls __io_putchar() */
|
||||
set to 'Yes') calls __io_putchar() */
|
||||
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
|
||||
#else
|
||||
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
|
||||
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE * f)
|
||||
#endif /* __GNUC__ */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if NETSTACK_CONF_WITH_IPV6
|
||||
|
@ -110,28 +105,31 @@ PROCINIT(&etimer_process);
|
|||
#warning "No TCP/IP process!"
|
||||
#endif /*NETSTACK_CONF_WITH_IPV6*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define BUSYWAIT_UNTIL(cond, max_time) \
|
||||
do { \
|
||||
rtimer_clock_t t0; \
|
||||
t0 = RTIMER_NOW(); \
|
||||
while(!(cond) && RTIMER_CLOCK_LT(RTIMER_NOW(), t0 + (max_time))); \
|
||||
} while(0)
|
||||
#define BUSYWAIT_UNTIL(cond, max_time) \
|
||||
do { \
|
||||
rtimer_clock_t t0; \
|
||||
t0 = RTIMER_NOW(); \
|
||||
while(!(cond) && RTIMER_CLOCK_LT(RTIMER_NOW(), t0 + (max_time))) ; \
|
||||
} while(0)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void set_rime_addr(void);
|
||||
void stm32cube_hal_init();
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if 0
|
||||
static void panic_main(void)
|
||||
static void
|
||||
panic_main(void)
|
||||
{
|
||||
volatile uint16_t k;
|
||||
while(1) {
|
||||
leds_toggle(LEDS_ALL);
|
||||
for(k = 0; k < 0xffff/8; k += 1) { }
|
||||
for(k = 0; k < 0xffff / 8; k += 1) {
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/*---------------------------------------------------------------------------*/
|
||||
int main (int argc, char *argv[])
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
stm32cube_hal_init();
|
||||
|
||||
|
@ -146,7 +144,6 @@ int main (int argc, char *argv[])
|
|||
process_init();
|
||||
process_start(&etimer_process, NULL);
|
||||
|
||||
|
||||
/* Restore node id if such has been stored in external mem */
|
||||
node_id_restore(); /* also configures node_mac[] */
|
||||
|
||||
|
@ -158,7 +155,6 @@ int main (int argc, char *argv[])
|
|||
|
||||
energest_init();
|
||||
|
||||
|
||||
#if NETSTACK_CONF_WITH_IPV6
|
||||
memcpy(&uip_lladdr.addr, node_mac, sizeof(uip_lladdr.addr));
|
||||
|
||||
|
@ -185,7 +181,8 @@ int main (int argc, char *argv[])
|
|||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void set_rime_addr(void)
|
||||
static void
|
||||
set_rime_addr(void)
|
||||
{
|
||||
linkaddr_t addr;
|
||||
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file acceleration-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable aceleration sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-temperature-sensor
|
||||
* @{
|
||||
|
@ -50,32 +45,37 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static int _active = 1;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
/*Acceleration and Gyroscope sensors share the same hw*/
|
||||
if (!st_lib_bsp_imu_6axes_is_initialized()) {
|
||||
if (IMU_6AXES_OK == st_lib_bsp_imu_6axes_init()) {
|
||||
if(!st_lib_bsp_imu_6axes_is_initialized()) {
|
||||
if(IMU_6AXES_OK == st_lib_bsp_imu_6axes_init()) {
|
||||
_active = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return _active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
int32_t ret_val = 0;
|
||||
volatile st_lib_axes_raw_typedef axes_raw_data;
|
||||
|
@ -87,46 +87,48 @@ static int value(int type)
|
|||
*/
|
||||
st_lib_bsp_imu_6axes_x_get_axes_raw(&axes_raw_data);
|
||||
|
||||
switch (type) {
|
||||
case X_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_X ;
|
||||
break;
|
||||
case Y_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Y ;
|
||||
break;
|
||||
case Z_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Z ;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
switch(type) {
|
||||
case X_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_X;
|
||||
break;
|
||||
case Y_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Y;
|
||||
break;
|
||||
case Z_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Z;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret_val;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file acceleration-sensor.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable aceleration sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/dev/button-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable button sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
* @{
|
||||
|
@ -46,9 +41,10 @@
|
|||
#include "lib/sensors.h"
|
||||
#include "st-lib.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int _active = 0 ;
|
||||
static int _active = 0;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
/* See spirit1_appli.c for the Callback: it triggers the relevant
|
||||
* sensors_changed event
|
||||
|
@ -56,49 +52,55 @@ static void init(void)
|
|||
st_lib_bsp_pb_init(BUTTON_USER, BUTTON_MODE_EXTI);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
return st_lib_bsp_pb_get_state(BUTTON_USER);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file gyroscope-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable aceleration sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-gyroscope-sensor
|
||||
* @{
|
||||
|
@ -50,32 +45,37 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static int _active = 1;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
/*Acceleration and Gyroscope sensors share the same hw*/
|
||||
if (!st_lib_bsp_imu_6axes_is_initialized()) {
|
||||
if (IMU_6AXES_OK == st_lib_bsp_imu_6axes_init()) {
|
||||
if(!st_lib_bsp_imu_6axes_is_initialized()) {
|
||||
if(IMU_6AXES_OK == st_lib_bsp_imu_6axes_init()) {
|
||||
_active = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return _active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
int32_t ret_val = 0;
|
||||
volatile st_lib_axes_raw_typedef axes_raw_data;
|
||||
|
@ -87,46 +87,48 @@ static int value(int type)
|
|||
*/
|
||||
st_lib_bsp_imu_6axes_g_get_axes_raw(&axes_raw_data);
|
||||
|
||||
switch (type) {
|
||||
case X_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_X ;
|
||||
break;
|
||||
case Y_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Y ;
|
||||
break;
|
||||
case Z_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Z ;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
switch(type) {
|
||||
case X_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_X;
|
||||
break;
|
||||
case Y_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Y;
|
||||
break;
|
||||
case Z_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Z;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret_val;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file gyroscope-sensor.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable aceleration sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file humidity-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable humidity sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-humidity-sensor
|
||||
* @{
|
||||
|
@ -50,31 +45,36 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static int _active = 1;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
/*Temperature and Humity sensors share the same hw*/
|
||||
if (!st_lib_bsp_hum_temp_is_initialized()) {
|
||||
st_lib_bsp_hum_temp_init();
|
||||
_active=1;
|
||||
if(!st_lib_bsp_hum_temp_is_initialized()) {
|
||||
st_lib_bsp_hum_temp_init();
|
||||
_active = 1;
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return _active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
uint32_t humidity;
|
||||
volatile float humidity_value;
|
||||
|
@ -85,29 +85,31 @@ static int value(int type)
|
|||
return humidity;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file humidity-sensor.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable humidity sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/dev/leds-arch.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Contiki LEDs API binding for the boards in use: Nucleo and SPIRIT1
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
* @{
|
||||
|
@ -50,14 +45,15 @@
|
|||
/* The Red LED (on SPIRIT1 exp board) is exposed only if the sensor board is NOT
|
||||
* used, becasue of a pin conflict.
|
||||
*/
|
||||
extern st_lib_gpio_typedef* st_lib_a_led_gpio_port[];
|
||||
extern st_lib_gpio_typedef *st_lib_a_led_gpio_port[];
|
||||
extern const uint16_t st_lib_a_led_gpio_pin[];
|
||||
#endif /*COMPILE_SENSORS*/
|
||||
|
||||
extern st_lib_gpio_typedef* st_lib_gpio_port[];
|
||||
extern st_lib_gpio_typedef *st_lib_gpio_port[];
|
||||
extern const uint16_t st_lib_gpio_pin[];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void leds_arch_init(void)
|
||||
void
|
||||
leds_arch_init(void)
|
||||
{
|
||||
/* We have at least one led, the one on the Nucleo (GREEN)*/
|
||||
st_lib_bsp_led_init(LED2);
|
||||
|
@ -72,10 +68,11 @@ void leds_arch_init(void)
|
|||
#endif /*COMPILE_SENSORS*/
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
unsigned char leds_arch_get(void)
|
||||
unsigned char
|
||||
leds_arch_get(void)
|
||||
{
|
||||
unsigned char ret = 0 ;
|
||||
if (st_lib_hal_gpio_read_pin(st_lib_gpio_port[LED2],st_lib_gpio_pin[LED2])) {
|
||||
unsigned char ret = 0;
|
||||
if(st_lib_hal_gpio_read_pin(st_lib_gpio_port[LED2], st_lib_gpio_pin[LED2])) {
|
||||
ret |= LEDS_GREEN;
|
||||
}
|
||||
|
||||
|
@ -83,8 +80,8 @@ unsigned char leds_arch_get(void)
|
|||
/* The Red LED (on SPIRIT1 exp board) is exposed only if the sensor board is NOT
|
||||
* used, becasue of a pin conflict.
|
||||
*/
|
||||
if (st_lib_hal_gpio_read_pin(st_lib_a_led_gpio_port[RADIO_SHIELD_LED],
|
||||
st_lib_a_led_gpio_pin[RADIO_SHIELD_LED])) {
|
||||
if(st_lib_hal_gpio_read_pin(st_lib_a_led_gpio_port[RADIO_SHIELD_LED],
|
||||
st_lib_a_led_gpio_pin[RADIO_SHIELD_LED])) {
|
||||
ret |= LEDS_RED;
|
||||
}
|
||||
#endif /*COMPILE_SENSORS*/
|
||||
|
@ -92,9 +89,10 @@ unsigned char leds_arch_get(void)
|
|||
return ret;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void leds_arch_set(unsigned char leds)
|
||||
void
|
||||
leds_arch_set(unsigned char leds)
|
||||
{
|
||||
if (leds & LEDS_GREEN) {
|
||||
if(leds & LEDS_GREEN) {
|
||||
st_lib_bsp_led_on(LED2);
|
||||
} else {
|
||||
st_lib_bsp_led_off(LED2);
|
||||
|
@ -104,7 +102,7 @@ void leds_arch_set(unsigned char leds)
|
|||
/* The Red LED (on SPIRIT1 exp board) is exposed only if the sensor board is NOT
|
||||
* used, becasue of a pin conflict.
|
||||
*/
|
||||
if (leds & LEDS_RED) {
|
||||
if(leds & LEDS_RED) {
|
||||
st_lib_radio_shield_led_on(RADIO_SHIELD_LED);
|
||||
} else {
|
||||
st_lib_radio_shield_led_off(RADIO_SHIELD_LED);
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file magneto-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable magneto sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-magneto-sensor
|
||||
* @{
|
||||
|
@ -50,28 +45,33 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static int _active = 1;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
BSP_MAGNETO_Init();
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return _active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
int32_t ret_val = 0;
|
||||
volatile st_lib_axes_raw_typedef axes_raw_data;
|
||||
|
@ -83,46 +83,48 @@ static int value(int type)
|
|||
*/
|
||||
st_lib_bsp_magneto_m_get_axes_raw(&axes_raw_data);
|
||||
|
||||
switch (type) {
|
||||
case X_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_X ;
|
||||
break;
|
||||
case Y_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Y ;
|
||||
break;
|
||||
case Z_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Z ;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
switch(type) {
|
||||
case X_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_X;
|
||||
break;
|
||||
case Y_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Y;
|
||||
break;
|
||||
case Z_AXIS:
|
||||
ret_val = axes_raw_data.AXIS_Z;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret_val;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file magneto-sensor.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable magneto sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file pressure-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable pressure sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-pressure-sensor
|
||||
* @{
|
||||
|
@ -50,28 +45,33 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static int _active = 1;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
st_lib_bsp_pressure_init();
|
||||
_active =1;
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return _active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
uint16_t pressure;
|
||||
volatile float pressure_value;
|
||||
|
@ -82,29 +82,31 @@ static int value(int type)
|
|||
return pressure;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file pressure-sensor.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable pressure sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/dev/radio-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 7-September-2015
|
||||
* @brief Enable radio sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
* @{
|
||||
|
@ -50,71 +45,78 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static int _active;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
/*Nothing to do at the moment, can be used in the future.*/
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return _active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
int32_t radio_sensor;
|
||||
float radio_sensor_value;
|
||||
float radio_sensor_value;
|
||||
|
||||
switch(type) {
|
||||
case RADIO_SENSOR_LAST_PACKET:
|
||||
/*TODO: check which method of getting these value is more appropriate */
|
||||
radio_sensor_value = DBM_VALUE(packetbuf_attr(PACKETBUF_ATTR_RSSI));
|
||||
//radio_sensor_value = st_lib_spirit_qi_get_rssi_dbm();
|
||||
radio_sensor = (int32_t) (radio_sensor_value * 10);
|
||||
break;
|
||||
case RADIO_SENSOR_LAST_VALUE:
|
||||
default:
|
||||
/*TODO: check which method of getting these value is more appropriate */
|
||||
radio_sensor = packetbuf_attr(PACKETBUF_ATTR_LINK_QUALITY);
|
||||
//radio_sensor = (int32_t) st_lib_spirit_qi_get_lqi();
|
||||
case RADIO_SENSOR_LAST_PACKET:
|
||||
/*TODO: check which method of getting these value is more appropriate */
|
||||
radio_sensor_value = DBM_VALUE(packetbuf_attr(PACKETBUF_ATTR_RSSI));
|
||||
/* radio_sensor_value = st_lib_spirit_qi_get_rssi_dbm(); */
|
||||
radio_sensor = (int32_t)(radio_sensor_value * 10);
|
||||
break;
|
||||
case RADIO_SENSOR_LAST_VALUE:
|
||||
default:
|
||||
/*TODO: check which method of getting these value is more appropriate */
|
||||
radio_sensor = packetbuf_attr(PACKETBUF_ATTR_LINK_QUALITY);
|
||||
/* radio_sensor = (int32_t) st_lib_spirit_qi_get_lqi(); */
|
||||
}
|
||||
|
||||
return radio_sensor;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -123,3 +125,4 @@ static int status(int type)
|
|||
SENSORS_SENSOR(radio_sensor, RADIO_SENSOR, value, configure, status);
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @} */
|
||||
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/dev/sensor-common.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Common defines for sensors data structurers
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
@ -51,8 +45,8 @@
|
|||
#define Y_AXIS 0x01
|
||||
#define Z_AXIS 0x02
|
||||
|
||||
#define ABS_VALUE(x) (((x)>0)?(x):(-(x)))
|
||||
#define DBM_VALUE(x) (-120.0+((float)((x)-20))/2)
|
||||
#define ABS_VALUE(x) (((x) > 0) ? (x) : (-(x)))
|
||||
#define DBM_VALUE(x) (-120.0 + ((float)((x) - 20)) / 2)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /*SENSOR_COMMON_H_*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
|
@ -1,39 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/dev/temperature-sensor.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable temperature sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-temperature-sensor
|
||||
* @{
|
||||
|
@ -50,31 +45,36 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static int _active = 0;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void init(void)
|
||||
static void
|
||||
init(void)
|
||||
{
|
||||
/*Temperature and Humity sensors share the same hw*/
|
||||
if (!st_lib_bsp_hum_temp_is_initialized()) {
|
||||
st_lib_bsp_hum_temp_init();
|
||||
_active=1;
|
||||
if(!st_lib_bsp_hum_temp_is_initialized()) {
|
||||
st_lib_bsp_hum_temp_init();
|
||||
_active = 1;
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void activate(void)
|
||||
static void
|
||||
activate(void)
|
||||
{
|
||||
_active = 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void deactivate(void)
|
||||
static void
|
||||
deactivate(void)
|
||||
{
|
||||
_active = 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int active(void)
|
||||
static int
|
||||
active(void)
|
||||
{
|
||||
return _active;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int value(int type)
|
||||
static int
|
||||
value(int type)
|
||||
{
|
||||
int32_t temperature;
|
||||
volatile float temperature_value;
|
||||
|
@ -84,36 +84,38 @@ static int value(int type)
|
|||
return temperature;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int configure(int type, int value)
|
||||
static int
|
||||
configure(int type, int value)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
case SENSORS_HW_INIT:
|
||||
init();
|
||||
return 1;
|
||||
case SENSORS_ACTIVE:
|
||||
if(value) {
|
||||
activate();
|
||||
} else {
|
||||
deactivate();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int status(int type)
|
||||
static int
|
||||
status(int type)
|
||||
{
|
||||
switch(type) {
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
case SENSORS_READY:
|
||||
return active();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
SENSORS_SENSOR(temperature_sensor, TEMPERATURE_SENSOR,
|
||||
value, configure, status);
|
||||
value, configure, status);
|
||||
#endif /*COMPILE_SENSORS*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/** @} */
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/dev/temperature-sensor.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Enable temperature sensor functionality
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/dev/uart1.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Include file for BAUD2UBR macro
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1-peripherals
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file hw-config.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-May-2015
|
||||
* @brief Header file for Hardware Configuration & Setup
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#ifndef __HW_CONFIG_H
|
||||
#define __HW_CONFIG_H
|
||||
|
@ -63,7 +57,6 @@
|
|||
#define I2Cx_EV_IRQHandler I2C1_EV_IRQHandler
|
||||
#define I2Cx_ER_IRQHandler I2C1_ER_IRQHandler
|
||||
|
||||
|
||||
#define I2Cx I2C1
|
||||
#define I2Cx_CLK_ENABLE() __I2C1_CLK_ENABLE()
|
||||
#define I2Cx_SDA_GPIO_CLK_ENABLE() __GPIOB_CLK_ENABLE()
|
||||
|
@ -104,15 +97,14 @@
|
|||
#define USARTx_RX_PIN GPIO_PIN_3
|
||||
#define USARTx_RX_GPIO_PORT GPIOA
|
||||
|
||||
/* Definition for USARTx's NVIC */
|
||||
/* Definition for USARTx's NVIC */
|
||||
#define USARTx_IRQn USART2_IRQn
|
||||
#define USARTx_IRQHandler USART2_IRQHandler
|
||||
|
||||
#define USARTx_TX_AF GPIO_AF7_USART2
|
||||
#define USARTx_RX_AF GPIO_AF7_USART2
|
||||
|
||||
|
||||
/* Enable sensor mask */
|
||||
/* Enable sensor mask */
|
||||
#define PRESSURE_SENSOR 0x00000001
|
||||
#define TEMPERATURE_SENSOR 0x00000002
|
||||
#define HUMIDITY_SENSOR 0x00000004
|
||||
|
@ -121,5 +113,5 @@
|
|||
#define GYROSCOPE_SENSOR 0x00000020
|
||||
#define MAGNETIC_SENSOR 0x00000040
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#endif /*__HW_CONFIG_H*/
|
||||
#endif /*__HW_CONFIG_H*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/node-id.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Source file for node Id
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 "node-id.h"
|
||||
#include "contiki-conf.h"
|
||||
|
@ -43,18 +37,19 @@ unsigned short node_id = 0;
|
|||
unsigned char node_mac[8];
|
||||
volatile uint32_t device_id[3];
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define DEVICE_ID_REG0 (*((volatile uint32_t *) 0x1FF80050))
|
||||
#define DEVICE_ID_REG1 (*((volatile uint32_t *) 0x1FF80054))
|
||||
#define DEVICE_ID_REG2 (*((volatile uint32_t *) 0x1FF80064))
|
||||
#define DEVICE_ID_REG0 (*((volatile uint32_t *)0x1FF80050))
|
||||
#define DEVICE_ID_REG1 (*((volatile uint32_t *)0x1FF80054))
|
||||
#define DEVICE_ID_REG2 (*((volatile uint32_t *)0x1FF80064))
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void node_id_restore(void)
|
||||
void
|
||||
node_id_restore(void)
|
||||
{
|
||||
device_id[0] = DEVICE_ID_REG0;
|
||||
device_id[1] = DEVICE_ID_REG1;
|
||||
device_id[2] = DEVICE_ID_REG2;
|
||||
|
||||
(*(uint32_t*)node_mac)=DEVICE_ID_REG1;
|
||||
(*(((uint32_t*)node_mac)+1))=DEVICE_ID_REG2+DEVICE_ID_REG0;
|
||||
node_id = (unsigned short) DEVICE_ID_REG2;
|
||||
(*(uint32_t *)node_mac) = DEVICE_ID_REG1;
|
||||
(*(((uint32_t *)node_mac) + 1)) = DEVICE_ID_REG2 + DEVICE_ID_REG0;
|
||||
node_id = (unsigned short)DEVICE_ID_REG2;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file platform/stm32nucleo-spirit1/platform-conf.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-May-2015
|
||||
* @brief Configuration parameters
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \addtogroup stm32nucleo-spirit1
|
||||
|
@ -69,7 +63,7 @@
|
|||
/*---------------------------------------------------------------------------*/
|
||||
#define F_CPU 32000000ul
|
||||
#define RTIMER_ARCH_SECOND 32768
|
||||
#define PRESCALER ((F_CPU / (RTIMER_ARCH_SECOND*2)))
|
||||
#define PRESCALER ((F_CPU / (RTIMER_ARCH_SECOND * 2)))
|
||||
|
||||
#define UART1_CONF_TX_WITH_INTERRUPT 0
|
||||
#define WITH_SERIAL_LINE_INPUT 1
|
||||
|
@ -79,12 +73,12 @@
|
|||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* define ticks/second for slow and fast clocks. Notice that these should be a
|
||||
power of two, eg 64,128,256,512 etc, for efficiency as POT's can be optimized
|
||||
well. */
|
||||
power of two, eg 64,128,256,512 etc, for efficiency as POT's can be optimized
|
||||
well. */
|
||||
#define CLOCK_CONF_SECOND 128
|
||||
/* One tick: 62.5 ms */
|
||||
|
||||
#define RTIMER_CLOCK_LT(a,b) ((signed short)((a)-(b)) < 0)
|
||||
#define RTIMER_CLOCK_LT(a, b) ((signed short)((a) - (b)) < 0)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
typedef unsigned long clock_time_t;
|
||||
typedef unsigned long long rtimer_clock_t;
|
||||
|
@ -98,11 +92,11 @@ typedef unsigned long long rtimer_clock_t;
|
|||
#define CCIF
|
||||
#define CLIF
|
||||
/*---------------------------------------------------------------------------*/
|
||||
typedef uint8_t u8_t;
|
||||
typedef uint16_t u16_t;
|
||||
typedef uint32_t u32_t;
|
||||
typedef int32_t s32_t;
|
||||
typedef unsigned short uip_stats_t;
|
||||
typedef uint8_t u8_t;
|
||||
typedef uint16_t u16_t;
|
||||
typedef uint32_t u32_t;
|
||||
typedef int32_t s32_t;
|
||||
typedef unsigned short uip_stats_t;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define MULTICHAN_CONF_SET_CHANNEL(x)
|
||||
#define MULTICHAN_CONF_READ_RSSI(x) 0
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file main.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Source file for SPIRIT1
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 "stm32l1xx.h"
|
||||
#include "spirit1-arch.h"
|
||||
|
@ -53,8 +47,8 @@ spirit1_arch_refresh_status(void)
|
|||
{
|
||||
volatile uint16_t mcstate = 0x0000;
|
||||
uint8_t header[2];
|
||||
header[0]=0x01;
|
||||
header[1]=MC_STATE1_BASE;
|
||||
header[0] = 0x01;
|
||||
header[1] = MC_STATE1_BASE;
|
||||
uint32_t spi_timeout = ((uint32_t)1000); /*<! Value of Timeout when SPI communication fails */
|
||||
|
||||
IRQ_DISABLE();
|
||||
|
@ -62,17 +56,18 @@ spirit1_arch_refresh_status(void)
|
|||
/* Puts the SPI chip select low to start the transaction */
|
||||
st_lib_radio_spi_cs_low();
|
||||
|
||||
for (volatile uint16_t index = 0; index < CS_TO_SCLK_DELAY; index++);
|
||||
for(volatile uint16_t index = 0; index < CS_TO_SCLK_DELAY; index++) {
|
||||
}
|
||||
|
||||
/* Write the aHeader bytes and read the SPIRIT1 status bytes */
|
||||
st_lib_hal_spi_transmit_receive(&st_lib_p_spi_handle, (uint8_t *)&header[0], (uint8_t *)&mcstate, 1, spi_timeout);
|
||||
mcstate = mcstate<<8;
|
||||
mcstate = mcstate << 8;
|
||||
|
||||
/* Write the aHeader bytes and read the SPIRIT1 status bytes */
|
||||
st_lib_hal_spi_transmit_receive(&st_lib_p_spi_handle, (uint8_t *)&header[1], (uint8_t *)&mcstate, 1, spi_timeout);
|
||||
|
||||
/* To be sure to don't rise the Chip Select before the end of last sending */
|
||||
while (st_lib_hal_spi_get_flag(&st_lib_p_spi_handle, SPI_FLAG_TXE) == RESET);
|
||||
while(st_lib_hal_spi_get_flag(&st_lib_p_spi_handle, SPI_FLAG_TXE) == RESET) ;
|
||||
|
||||
/* Puts the SPI chip select high to end the transaction */
|
||||
st_lib_radio_spi_cs_high();
|
||||
|
@ -80,7 +75,4 @@ spirit1_arch_refresh_status(void)
|
|||
IRQ_ENABLE();
|
||||
|
||||
return mcstate;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -39,8 +39,8 @@
|
|||
#include "radio_spi.h"
|
||||
#include "st-lib.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define IRQ_ENABLE() st_lib_radio_gpio_interrupt_cmd(RADIO_GPIO_IRQ,0x0F,0x0F,ENABLE);
|
||||
#define IRQ_DISABLE() st_lib_radio_gpio_interrupt_cmd(RADIO_GPIO_IRQ,0x0F,0x0F,DISABLE);
|
||||
#define IRQ_ENABLE() st_lib_radio_gpio_interrupt_cmd(RADIO_GPIO_IRQ, 0x0F, 0x0F, ENABLE);
|
||||
#define IRQ_DISABLE() st_lib_radio_gpio_interrupt_cmd(RADIO_GPIO_IRQ, 0x0F, 0x0F, DISABLE);
|
||||
#define spirit_spi_busy() (!(RADIO_SPI_CS_PORT->IDR & RADIO_SPI_CS_PIN))
|
||||
#define SPIRIT1_STATUS() (spirit1_arch_refresh_status() & SPIRIT1_STATE_STATEBITS)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
|
|
@ -10,22 +10,22 @@
|
|||
* 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. Neither the name of the copyright holder nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
* 3. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -33,22 +33,22 @@
|
|||
#define __SPIRIT1_CONST_H__
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* The state bitfield and values for different states, as read from MC_STATE[1:0] registers,
|
||||
which are returned on any SPI read or write operation. */
|
||||
which are returned on any SPI read or write operation. */
|
||||
#define SPIRIT1_STATE_STATEBITS (0x00FE)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#define SPIRIT1_STATE_STANDBY ((0x0040)<<1)
|
||||
#define SPIRIT1_STATE_SLEEP ((0x0036)<<1)
|
||||
#define SPIRIT1_STATE_READY ((0x0003)<<1)
|
||||
#define SPIRIT1_STATE_LOCK ((0x000F)<<1)
|
||||
#define SPIRIT1_STATE_RX ((0x0033)<<1)
|
||||
#define SPIRIT1_STATE_TX ((0x005F)<<1)
|
||||
#define SPIRIT1_STATE_STANDBY ((0x0040) << 1)
|
||||
#define SPIRIT1_STATE_SLEEP ((0x0036) << 1)
|
||||
#define SPIRIT1_STATE_READY ((0x0003) << 1)
|
||||
#define SPIRIT1_STATE_LOCK ((0x000F) << 1)
|
||||
#define SPIRIT1_STATE_RX ((0x0033) << 1)
|
||||
#define SPIRIT1_STATE_TX ((0x005F) << 1)
|
||||
/* NB the below states were extracted from ST drivers, but are not specified in the datasheet */
|
||||
#define SPIRIT1_STATE_PM_SETUP ((0x003D)<<1)
|
||||
#define SPIRIT1_STATE_XO_SETTLING ((0x0023)<<1)
|
||||
#define SPIRIT1_STATE_SYNTH_SETUP ((0x0053)<<1)
|
||||
#define SPIRIT1_STATE_PROTOCOL ((0x001F)<<1)
|
||||
#define SPIRIT1_STATE_SYNTH_CALIBRATION ((0x004F)<<1)
|
||||
#define SPIRIT1_STATE_PM_SETUP ((0x003D) << 1)
|
||||
#define SPIRIT1_STATE_XO_SETTLING ((0x0023) << 1)
|
||||
#define SPIRIT1_STATE_SYNTH_SETUP ((0x0053) << 1)
|
||||
#define SPIRIT1_STATE_PROTOCOL ((0x001F) << 1)
|
||||
#define SPIRIT1_STATE_SYNTH_CALIBRATION ((0x004F) << 1)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* strobe commands */
|
||||
#define SPIRIT1_STROBE_TX 0x60
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file spirit1.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
* @brief Source file for SPIRIT1
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 "spirit1.h"
|
||||
#include "spirit1-arch.h"
|
||||
|
@ -47,7 +41,7 @@
|
|||
#include <stdio.h>
|
||||
#include "st-lib.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
//MGR extern st_lib_spirit_irqs st_lib_x_irq_status;
|
||||
/* MGR extern st_lib_spirit_irqs st_lib_x_irq_status; */
|
||||
extern volatile st_lib_spirit_flag_status rx_timeout;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define XXX_ACK_WORKAROUND 1
|
||||
|
@ -61,11 +55,11 @@ extern volatile st_lib_spirit_flag_status rx_timeout;
|
|||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define BUSYWAIT_UNTIL(cond, max_time) \
|
||||
do { \
|
||||
rtimer_clock_t t0; \
|
||||
t0 = RTIMER_NOW(); \
|
||||
while(!(cond) && RTIMER_CLOCK_LT(RTIMER_NOW(), t0 + (max_time))); \
|
||||
#define BUSYWAIT_UNTIL(cond, max_time) \
|
||||
do { \
|
||||
rtimer_clock_t t0; \
|
||||
t0 = RTIMER_NOW(); \
|
||||
while(!(cond) && RTIMER_CLOCK_LT(RTIMER_NOW(), t0 + (max_time))) ; \
|
||||
} while(0)
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -81,24 +75,24 @@ extern volatile st_lib_spirit_flag_status rx_timeout;
|
|||
/*---------------------------------------------------------------------------*/
|
||||
static volatile unsigned int spirit_on = OFF;
|
||||
static volatile uint8_t receiving_packet = 0;
|
||||
static packetbuf_attr_t last_rssi = 0 ; //MGR
|
||||
static packetbuf_attr_t last_lqi = 0 ; //MGR
|
||||
static packetbuf_attr_t last_rssi = 0; /* MGR */
|
||||
static packetbuf_attr_t last_lqi = 0; /* MGR */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/*
|
||||
* The buffers which hold incoming data.
|
||||
* The +1 because of the first byte,
|
||||
* which will contain the length of the packet.
|
||||
*/
|
||||
static uint8_t spirit_rxbuf[MAX_PACKET_LEN+1];
|
||||
static uint8_t spirit_txbuf[MAX_PACKET_LEN+1-SPIRIT_MAX_FIFO_LEN];
|
||||
* The buffers which hold incoming data.
|
||||
* The +1 because of the first byte,
|
||||
* which will contain the length of the packet.
|
||||
*/
|
||||
static uint8_t spirit_rxbuf[MAX_PACKET_LEN + 1];
|
||||
static uint8_t spirit_txbuf[MAX_PACKET_LEN + 1 - SPIRIT_MAX_FIFO_LEN];
|
||||
void st_lib_spirit_management_set_frequency_base(uint32_t);
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int just_got_an_ack = 0; /* Interrupt callback just detected an ack */
|
||||
#if NULLRDC_CONF_802154_AUTOACK
|
||||
#define ACK_LEN 3
|
||||
static int wants_an_ack = 0; /* The packet sent expects an ack */
|
||||
//static int just_got_an_ack = 0; /* Interrupt callback just detected an ack */
|
||||
//#define ACKPRINTF printf
|
||||
/* static int just_got_an_ack = 0; / * Interrupt callback just detected an ack * / */
|
||||
/* #define ACKPRINTF printf */
|
||||
#define ACKPRINTF(...)
|
||||
#endif /* NULLRDC_CONF_802154_AUTOACK */
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
@ -155,7 +149,8 @@ spirit1_strobe(uint8_t s)
|
|||
st_lib_spirit_cmd_strobe_command(s);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void spirit_set_ready_state(void)
|
||||
void
|
||||
spirit_set_ready_state(void)
|
||||
{
|
||||
PRINTF("READY IN\n");
|
||||
|
||||
|
@ -192,17 +187,17 @@ spirit_radio_init(void)
|
|||
/* wake up to READY state */
|
||||
/* weirdly enough, this *should* actually *set* the pin, not clear it! The pins is declared as GPIO_pin13 == 0x2000 */
|
||||
RADIO_GPIO_SDN_PORT->BSRR = RADIO_GPIO_SDN_PIN;
|
||||
st_lib_hal_gpio_write_pin(RADIO_GPIO_SDN_PORT, RADIO_GPIO_SDN_PIN,GPIO_PIN_RESET);
|
||||
st_lib_hal_gpio_write_pin(RADIO_GPIO_SDN_PORT, RADIO_GPIO_SDN_PIN, GPIO_PIN_RESET);
|
||||
|
||||
/* wait minimum 1.5 ms to allow SPIRIT1 a proper boot-up sequence */
|
||||
BUSYWAIT_UNTIL(0, 3 * RTIMER_SECOND/2000);
|
||||
BUSYWAIT_UNTIL(0, 3 * RTIMER_SECOND / 2000);
|
||||
|
||||
/* Soft reset of core */
|
||||
spirit1_strobe(SPIRIT1_STROBE_SRES);
|
||||
|
||||
/* Configures the SPIRIT1 radio part */
|
||||
st_lib_s_radio_init x_radio_init = {
|
||||
// XTAL_FREQUENCY,
|
||||
/* XTAL_FREQUENCY, */
|
||||
XTAL_OFFSET_PPM,
|
||||
BASE_FREQUENCY,
|
||||
CHANNEL_SPACE,
|
||||
|
@ -214,7 +209,7 @@ spirit_radio_init(void)
|
|||
};
|
||||
st_lib_spirit_radio_init(&x_radio_init);
|
||||
st_lib_spirit_radio_set_xtal_frequency(XTAL_FREQUENCY);
|
||||
st_lib_spirit_radio_set_pa_level_dbm(0,POWER_DBM);
|
||||
st_lib_spirit_radio_set_pa_level_dbm(0, POWER_DBM);
|
||||
st_lib_spirit_radio_set_pa_level_max_index(0);
|
||||
|
||||
/* Configures the SPIRIT1 packet handler part*/
|
||||
|
@ -236,8 +231,8 @@ spirit_radio_init(void)
|
|||
st_lib_spirit_irq_de_init(NULL);
|
||||
st_lib_spirit_irq_clear_status();
|
||||
st_lib_spirit_irq(TX_DATA_SENT, S_ENABLE);
|
||||
st_lib_spirit_irq(RX_DATA_READY,S_ENABLE);
|
||||
st_lib_spirit_irq(VALID_SYNC,S_ENABLE);
|
||||
st_lib_spirit_irq(RX_DATA_READY, S_ENABLE);
|
||||
st_lib_spirit_irq(VALID_SYNC, S_ENABLE);
|
||||
st_lib_spirit_irq(RX_DATA_DISC, S_ENABLE);
|
||||
st_lib_spirit_irq(TX_FIFO_ERROR, S_ENABLE);
|
||||
st_lib_spirit_irq(RX_FIFO_ERROR, S_ENABLE);
|
||||
|
@ -261,7 +256,7 @@ spirit_radio_init(void)
|
|||
st_lib_radio_gpio_init(RADIO_GPIO_IRQ, RADIO_MODE_EXTI_IN);
|
||||
|
||||
/* Configure the radio to route the IRQ signal to its GPIO 3 */
|
||||
st_lib_spirit_gpio_init(&(st_lib_s_gpio_init){SPIRIT_GPIO_IRQ, SPIRIT_GPIO_MODE_DIGITAL_OUTPUT_LP, SPIRIT_GPIO_DIG_OUT_IRQ});
|
||||
st_lib_spirit_gpio_init(&(st_lib_s_gpio_init){SPIRIT_GPIO_IRQ, SPIRIT_GPIO_MODE_DIGITAL_OUTPUT_LP, SPIRIT_GPIO_DIG_OUT_IRQ });
|
||||
|
||||
process_start(&spirit_radio_process, NULL);
|
||||
|
||||
|
@ -285,9 +280,9 @@ spirit_radio_prepare(const void *payload, unsigned short payload_len)
|
|||
frame802154_t info154;
|
||||
wants_an_ack = 0;
|
||||
if(payload_len > ACK_LEN
|
||||
&& frame802154_parse((char*)payload, payload_len, &info154) != 0) {
|
||||
&& frame802154_parse((char *)payload, payload_len, &info154) != 0) {
|
||||
if(info154.fcf.frame_type == FRAME802154_DATAFRAME
|
||||
&& info154.fcf.ack_required != 0) {
|
||||
&& info154.fcf.ack_required != 0) {
|
||||
wants_an_ack = 1;
|
||||
}
|
||||
}
|
||||
|
@ -326,9 +321,9 @@ spirit_radio_transmit(unsigned short payload_len)
|
|||
spirit_set_ready_state();
|
||||
spirit1_strobe(SPIRIT1_STROBE_TX);
|
||||
just_got_an_ack = 0;
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_TX, 1 * RTIMER_SECOND/1000);
|
||||
//BUSYWAIT_UNTIL(SPIRIT1_STATUS() != SPIRIT1_STATE_TX, 4 * RTIMER_SECOND/1000); //For GFSK with high data rate
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() != SPIRIT1_STATE_TX, 50 * RTIMER_SECOND/1000); //For FSK with low data rate
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_TX, 1 * RTIMER_SECOND / 1000);
|
||||
/* BUSYWAIT_UNTIL(SPIRIT1_STATUS() != SPIRIT1_STATE_TX, 4 * RTIMER_SECOND/1000); //For GFSK with high data rate */
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() != SPIRIT1_STATE_TX, 50 * RTIMER_SECOND / 1000); /* For FSK with low data rate */
|
||||
|
||||
/* Reset radio - needed for immediate RX of ack */
|
||||
CLEAR_TXBUF();
|
||||
|
@ -336,11 +331,11 @@ spirit_radio_transmit(unsigned short payload_len)
|
|||
IRQ_DISABLE();
|
||||
st_lib_spirit_irq_clear_status();
|
||||
spirit1_strobe(SPIRIT1_STROBE_SABORT);
|
||||
BUSYWAIT_UNTIL(0, RTIMER_SECOND/2500);
|
||||
BUSYWAIT_UNTIL(0, RTIMER_SECOND / 2500);
|
||||
spirit1_strobe(SPIRIT1_STROBE_READY);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 1 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 1 * RTIMER_SECOND / 1000);
|
||||
spirit1_strobe(SPIRIT1_STROBE_RX);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 1 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 1 * RTIMER_SECOND / 1000);
|
||||
IRQ_ENABLE();
|
||||
|
||||
#if XXX_ACK_WORKAROUND
|
||||
|
@ -348,14 +343,14 @@ spirit_radio_transmit(unsigned short payload_len)
|
|||
#endif /* XXX_ACK_WORKAROUND */
|
||||
|
||||
#if NULLRDC_CONF_802154_AUTOACK
|
||||
if (wants_an_ack) {
|
||||
if(wants_an_ack) {
|
||||
rtimer_txdone = RTIMER_NOW();
|
||||
BUSYWAIT_UNTIL(just_got_an_ack, 2 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(just_got_an_ack, 2 * RTIMER_SECOND / 1000);
|
||||
rtimer_rxack = RTIMER_NOW();
|
||||
|
||||
if(just_got_an_ack) {
|
||||
ACKPRINTF("debug_ack: ack received after %u/%u ticks\n",
|
||||
(uint32_t)(rtimer_rxack - rtimer_txdone), 2 * RTIMER_SECOND/1000);
|
||||
(uint32_t)(rtimer_rxack - rtimer_txdone), 2 * RTIMER_SECOND / 1000);
|
||||
} else {
|
||||
ACKPRINTF("debug_ack: no ack received\n");
|
||||
}
|
||||
|
@ -373,16 +368,17 @@ spirit_radio_transmit(unsigned short payload_len)
|
|||
return RADIO_TX_OK;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int spirit_radio_send(const void *payload, unsigned short payload_len)
|
||||
static int
|
||||
spirit_radio_send(const void *payload, unsigned short payload_len)
|
||||
{
|
||||
if(spirit_radio_prepare(payload, payload_len) == RADIO_TX_ERR) {
|
||||
return RADIO_TX_ERR;
|
||||
}
|
||||
return spirit_radio_transmit(payload_len);
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int spirit_radio_read(void *buf, unsigned short bufsize)
|
||||
static int
|
||||
spirit_radio_read(void *buf, unsigned short bufsize)
|
||||
{
|
||||
PRINTF("READ IN\n");
|
||||
|
||||
|
@ -391,11 +387,11 @@ static int spirit_radio_read(void *buf, unsigned short bufsize)
|
|||
IRQ_DISABLE();
|
||||
CLEAR_RXBUF();
|
||||
spirit1_strobe(SPIRIT1_STROBE_SABORT);
|
||||
BUSYWAIT_UNTIL(0, RTIMER_SECOND/2500);
|
||||
BUSYWAIT_UNTIL(0, RTIMER_SECOND / 2500);
|
||||
spirit1_strobe(SPIRIT1_STROBE_READY);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 1 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 1 * RTIMER_SECOND / 1000);
|
||||
spirit1_strobe(SPIRIT1_STROBE_RX);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 1 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 1 * RTIMER_SECOND / 1000);
|
||||
PRINTF("READ OUT RX BUF EMPTY\n");
|
||||
IRQ_ENABLE();
|
||||
return 0;
|
||||
|
@ -409,8 +405,8 @@ static int spirit_radio_read(void *buf, unsigned short bufsize)
|
|||
/* Copies the packet received */
|
||||
memcpy(buf, spirit_rxbuf + 1, spirit_rxbuf[0]);
|
||||
|
||||
packetbuf_set_attr(PACKETBUF_ATTR_RSSI, last_rssi); //MGR
|
||||
packetbuf_set_attr(PACKETBUF_ATTR_LINK_QUALITY, last_lqi); //MGR
|
||||
packetbuf_set_attr(PACKETBUF_ATTR_RSSI, last_rssi); /* MGR */
|
||||
packetbuf_set_attr(PACKETBUF_ATTR_LINK_QUALITY, last_lqi); /* MGR */
|
||||
bufsize = spirit_rxbuf[0];
|
||||
CLEAR_RXBUF();
|
||||
|
||||
|
@ -418,7 +414,6 @@ static int spirit_radio_read(void *buf, unsigned short bufsize)
|
|||
|
||||
return bufsize;
|
||||
}
|
||||
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int
|
||||
|
@ -443,7 +438,7 @@ spirit_radio_channel_clear(void)
|
|||
st_lib_spirit_irq_clear_status();
|
||||
IRQ_ENABLE();
|
||||
{
|
||||
rtimer_clock_t timeout = RTIMER_NOW() + 5 * RTIMER_SECOND/1000;
|
||||
rtimer_clock_t timeout = RTIMER_NOW() + 5 * RTIMER_SECOND / 1000;
|
||||
do {
|
||||
st_lib_spirit_refresh_status();
|
||||
} while((st_lib_g_x_status.MC_STATE != MC_STATE_READY) && (RTIMER_NOW() < timeout));
|
||||
|
@ -456,18 +451,18 @@ spirit_radio_channel_clear(void)
|
|||
rssi_value = st_lib_spirit_qi_get_rssi_dbm();
|
||||
|
||||
/* Puts the SPIRIT1 in its previous state */
|
||||
if(spirit_state==OFF) {
|
||||
if(spirit_state == OFF) {
|
||||
spirit_radio_off();
|
||||
} else {
|
||||
spirit1_strobe(SPIRIT1_STROBE_RX);
|
||||
/* SpiritCmdStrobeRx();*/
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 5 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 5 * RTIMER_SECOND / 1000);
|
||||
}
|
||||
|
||||
PRINTF("CHANNEL CLEAR OUT\n");
|
||||
|
||||
/* Checks the RSSI value with the threshold */
|
||||
if(rssi_value<CCA_THRESHOLD) {
|
||||
if(rssi_value < CCA_THRESHOLD) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
|
@ -501,7 +496,7 @@ spirit_radio_off(void)
|
|||
/* Clear any pending irqs */
|
||||
st_lib_spirit_irq_clear_status();
|
||||
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 5 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 5 * RTIMER_SECOND / 1000);
|
||||
if(SPIRIT1_STATUS() != SPIRIT1_STATE_READY) {
|
||||
PRINTF("Spirit1: failed off->ready\n");
|
||||
return 1;
|
||||
|
@ -509,7 +504,7 @@ spirit_radio_off(void)
|
|||
|
||||
/* Puts the SPIRIT1 in STANDBY */
|
||||
spirit1_strobe(SPIRIT1_STROBE_STANDBY);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_STANDBY, 5 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_STANDBY, 5 * RTIMER_SECOND / 1000);
|
||||
if(SPIRIT1_STATUS() != SPIRIT1_STATE_STANDBY) {
|
||||
PRINTF("Spirit1: failed off->stdby\n");
|
||||
return 1;
|
||||
|
@ -523,30 +518,31 @@ spirit_radio_off(void)
|
|||
return 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static int spirit_radio_on(void)
|
||||
static int
|
||||
spirit_radio_on(void)
|
||||
{
|
||||
|
||||
PRINTF("Spirit1: on\n");
|
||||
spirit1_strobe(SPIRIT1_STROBE_SABORT);
|
||||
BUSYWAIT_UNTIL(0, RTIMER_SECOND/2500);
|
||||
BUSYWAIT_UNTIL(0, RTIMER_SECOND / 2500);
|
||||
if(spirit_on == OFF) {
|
||||
IRQ_DISABLE();
|
||||
/* ensure we are in READY state as we go from there to Rx */
|
||||
spirit1_strobe(SPIRIT1_STROBE_READY);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 5 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_READY, 5 * RTIMER_SECOND / 1000);
|
||||
if(SPIRIT1_STATUS() != SPIRIT1_STATE_READY) {
|
||||
PRINTF("Spirit1: failed to turn on\n");
|
||||
while(1);
|
||||
//return 1;
|
||||
while(1) ;
|
||||
/* return 1; */
|
||||
}
|
||||
|
||||
/* now we go to Rx */
|
||||
spirit1_strobe(SPIRIT1_STROBE_RX);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 5 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 5 * RTIMER_SECOND / 1000);
|
||||
if(SPIRIT1_STATUS() != SPIRIT1_STATE_RX) {
|
||||
PRINTF("Spirit1: failed to enter rx\n");
|
||||
while(1);
|
||||
//return 1;
|
||||
while(1) ;
|
||||
/* return 1; */
|
||||
}
|
||||
|
||||
/* Enables the mcu to get IRQ from the SPIRIT1 */
|
||||
|
@ -579,30 +575,29 @@ PROCESS_THREAD(spirit_radio_process, ev, data)
|
|||
/* Check if the packet has an ACK request */
|
||||
frame802154_t info154;
|
||||
if(len > ACK_LEN &&
|
||||
frame802154_parse((char*)packetbuf_dataptr(), len, &info154) != 0) {
|
||||
frame802154_parse((char *)packetbuf_dataptr(), len, &info154) != 0) {
|
||||
if(info154.fcf.frame_type == FRAME802154_DATAFRAME &&
|
||||
info154.fcf.ack_required != 0 &&
|
||||
linkaddr_cmp((linkaddr_t *)&info154.dest_addr,
|
||||
&linkaddr_node_addr)) {
|
||||
|
||||
info154.fcf.ack_required != 0 &&
|
||||
linkaddr_cmp((linkaddr_t *)&info154.dest_addr,
|
||||
&linkaddr_node_addr)) {
|
||||
|
||||
#if !XXX_ACK_WORKAROUND
|
||||
/* Send an ACK packet */
|
||||
uint8_t ack_frame[ACK_LEN] = {
|
||||
FRAME802154_ACKFRAME,
|
||||
0x00,
|
||||
info154.seq
|
||||
FRAME802154_ACKFRAME,
|
||||
0x00,
|
||||
info154.seq
|
||||
};
|
||||
IRQ_DISABLE();
|
||||
spirit1_strobe(SPIRIT1_STROBE_FTX);
|
||||
st_lib_spirit_pkt_basic_set_payload_length((uint16_t) ACK_LEN);
|
||||
st_lib_spirit_spi_write_linear_fifo((uint16_t) ACK_LEN, (uint8_t *) ack_frame);
|
||||
st_lib_spirit_pkt_basic_set_payload_length((uint16_t)ACK_LEN);
|
||||
st_lib_spirit_spi_write_linear_fifo((uint16_t)ACK_LEN, (uint8_t *)ack_frame);
|
||||
|
||||
spirit_set_ready_state();
|
||||
IRQ_ENABLE();
|
||||
spirit1_strobe(SPIRIT1_STROBE_TX);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_TX, 1 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() != SPIRIT1_STATE_TX, 1 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_TX, 1 * RTIMER_SECOND / 1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() != SPIRIT1_STATE_TX, 1 * RTIMER_SECOND / 1000);
|
||||
ACKPRINTF("debug_ack: sent ack %d\n", ack_frame[2]);
|
||||
#endif /* !XXX_ACK_WORKAROUND */
|
||||
}
|
||||
|
@ -622,7 +617,7 @@ PROCESS_THREAD(spirit_radio_process, ev, data)
|
|||
|
||||
if(SPIRIT1_STATUS() == SPIRIT1_STATE_READY) {
|
||||
spirit1_strobe(SPIRIT1_STROBE_RX);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 1 * RTIMER_SECOND/1000);
|
||||
BUSYWAIT_UNTIL(SPIRIT1_STATUS() == SPIRIT1_STATE_RX, 1 * RTIMER_SECOND / 1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -633,9 +628,9 @@ PROCESS_THREAD(spirit_radio_process, ev, data)
|
|||
void
|
||||
spirit1_interrupt_callback(void)
|
||||
{
|
||||
#define INTPRINTF(...) // PRINTF
|
||||
#define INTPRINTF(...) /* PRINTF */
|
||||
st_lib_spirit_irqs x_irq_status;
|
||||
if (spirit_spi_busy() || interrupt_callback_in_progress) {
|
||||
if(spirit_spi_busy() || interrupt_callback_in_progress) {
|
||||
process_poll(&spirit_radio_process);
|
||||
interrupt_callback_wants_poll = 1;
|
||||
return;
|
||||
|
@ -689,13 +684,13 @@ spirit1_interrupt_callback(void)
|
|||
|
||||
process_poll(&spirit_radio_process);
|
||||
|
||||
last_rssi = (packetbuf_attr_t) st_lib_spirit_qi_get_rssi(); //MGR
|
||||
last_lqi = (packetbuf_attr_t) st_lib_spirit_qi_get_lqi(); //MGR
|
||||
last_rssi = (packetbuf_attr_t)st_lib_spirit_qi_get_rssi(); /* MGR */
|
||||
last_lqi = (packetbuf_attr_t)st_lib_spirit_qi_get_lqi(); /* MGR */
|
||||
|
||||
receiving_packet = 0;
|
||||
|
||||
#if NULLRDC_CONF_802154_AUTOACK
|
||||
if (spirit_rxbuf[0] == ACK_LEN) {
|
||||
if(spirit_rxbuf[0] == ACK_LEN) {
|
||||
/* For debugging purposes we assume this is an ack for us */
|
||||
just_got_an_ack = 1;
|
||||
}
|
||||
|
@ -705,8 +700,7 @@ spirit1_interrupt_callback(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if(x_irq_status.IRQ_RX_DATA_DISC)
|
||||
{
|
||||
if(x_irq_status.IRQ_RX_DATA_DISC) {
|
||||
/* RX command - to ensure the device will be ready for the next reception */
|
||||
if(x_irq_status.IRQ_RX_TIMEOUT) {
|
||||
st_lib_spirit_cmd_strobe_flush_rx_fifo();
|
||||
|
|
|
@ -1,39 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file st-lib.h
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 30-July-2015
|
||||
* @brief Contiki style wrapping library for STM32Cube HAL APIs
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* \defgroup stm32nucleo-spirit1 STM32Cube HAL APIs
|
||||
|
@ -73,7 +67,6 @@
|
|||
#define st_lib_spirit_spi_write_linear_fifo(...) SpiritSpiWriteLinearFifo(__VA_ARGS__)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* radio_gpio.h */
|
||||
#include "radio_gpio.h"
|
||||
|
@ -241,7 +234,6 @@
|
|||
/* stm32l1xx_hal_rcc.h */
|
||||
#include "stm32l1xx_hal_rcc.h"
|
||||
|
||||
|
||||
#define st_lib_tim2_clk_enable(...) __TIM2_CLK_ENABLE(__VA_ARGS__)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
|
@ -274,7 +266,6 @@
|
|||
#define st_lib_hal_tim_oc_config_channel(...) HAL_TIM_OC_ConfigChannel(__VA_ARGS__)
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/* stm32l1xx_hal_uart.h */
|
||||
#include "stm32l1xx_hal_uart.h"
|
||||
|
|
|
@ -1,30 +1,34 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file stm32l-spirit1-config.h
|
||||
* @author MCD Application Team
|
||||
* @version V3.4.0
|
||||
* @date 29-June-2012
|
||||
* @brief Evaluation board specific configuration file.
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT 2012 STMicroelectronics</center></h2>
|
||||
*
|
||||
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
|
||||
* You may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at:
|
||||
*
|
||||
* http://www.st.com/software_license_agreement_liberty_v2
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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.
|
||||
*
|
||||
*
|
||||
*/
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||
#ifndef __STM32L_SPIRIT1_CONFIG_H
|
||||
#define __STM32L_SPIRIT1_CONFIG_H
|
||||
|
@ -36,25 +40,25 @@
|
|||
|
||||
/* Define the STM32F10x hardware depending on the used evaluation board */
|
||||
#ifdef USE_STM3210B_EVAL
|
||||
#define USB_DISCONNECT GPIOD
|
||||
#define USB_DISCONNECT_PIN GPIO_PIN_9
|
||||
#define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD
|
||||
#define EVAL_COM1_IRQHandler USART1_IRQHandler
|
||||
#define USB_DISCONNECT GPIOD
|
||||
#define USB_DISCONNECT_PIN GPIO_PIN_9
|
||||
#define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOD
|
||||
#define EVAL_COM1_IRQHandler USART1_IRQHandler
|
||||
|
||||
#elif defined (USE_STM3210E_EVAL)
|
||||
#define USB_DISCONNECT GPIOB
|
||||
#define USB_DISCONNECT_PIN GPIO_PIN_14
|
||||
#define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB
|
||||
#define EVAL_COM1_IRQHandler USART1_IRQHandler
|
||||
#elif defined(USE_STM3210E_EVAL)
|
||||
#define USB_DISCONNECT GPIOB
|
||||
#define USB_DISCONNECT_PIN GPIO_PIN_14
|
||||
#define RCC_APB2Periph_GPIO_DISCONNECT RCC_APB2Periph_GPIOB
|
||||
#define EVAL_COM1_IRQHandler USART1_IRQHandler
|
||||
|
||||
#elif defined (USE_STM3210C_EVAL)
|
||||
#define USB_DISCONNECT 0
|
||||
#define USB_DISCONNECT_PIN 0
|
||||
#define RCC_APB2Periph_GPIO_DISCONNECT 0
|
||||
#define EVAL_COM1_IRQHandler USART2_IRQHandler
|
||||
#elif defined(USE_STM3210C_EVAL)
|
||||
#define USB_DISCONNECT 0
|
||||
#define USB_DISCONNECT_PIN 0
|
||||
#define RCC_APB2Periph_GPIO_DISCONNECT 0
|
||||
#define EVAL_COM1_IRQHandler USART2_IRQHandler
|
||||
|
||||
#elif defined (USE_STM32L152_EVAL) || defined (USE_STM32L152D_EVAL)
|
||||
/*
|
||||
#elif defined(USE_STM32L152_EVAL) || defined(USE_STM32L152D_EVAL)
|
||||
/*
|
||||
For STM32L15xx devices it is possible to use the internal USB pullup
|
||||
controlled by register SYSCFG_PMC (refer to RM0038 reference manual for
|
||||
more details).
|
||||
|
@ -63,30 +67,30 @@
|
|||
and configuring the right pin to be used for the external pull up configuration.
|
||||
To have more details on how to use an external pull up, please refer to
|
||||
STM3210E-EVAL evaluation board manuals.
|
||||
*/
|
||||
/* Uncomment the following define to use an external pull up instead of the
|
||||
integrated STM32L15xx internal pull up. In this case make sure to set up
|
||||
correctly the external required hardware and the GPIO defines below.*/
|
||||
*/
|
||||
/* Uncomment the following define to use an external pull up instead of the
|
||||
integrated STM32L15xx internal pull up. In this case make sure to set up
|
||||
correctly the external required hardware and the GPIO defines below.*/
|
||||
/* #define USB_USE_EXTERNAL_PULLUP */
|
||||
|
||||
#if !defined(USB_USE_EXTERNAL_PULLUP)
|
||||
#define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE)
|
||||
#define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE)
|
||||
#if !defined(USB_USE_EXTERNAL_PULLUP)
|
||||
#define STM32L15_USB_CONNECT SYSCFG_USBPuCmd(ENABLE)
|
||||
#define STM32L15_USB_DISCONNECT SYSCFG_USBPuCmd(DISABLE)
|
||||
|
||||
#elif defined(USB_USE_EXTERNAL_PULLUP)
|
||||
/* PA0 is chosen just as illustrating example, you should modify the defines
|
||||
below according to your hardware configuration. */
|
||||
#define USB_DISCONNECT GPIOA
|
||||
#define USB_DISCONNECT_PIN GPIO_PIN_0
|
||||
#define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA
|
||||
#define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN)
|
||||
#define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN)
|
||||
#endif /* USB_USE_EXTERNAL_PULLUP */
|
||||
#elif defined(USB_USE_EXTERNAL_PULLUP)
|
||||
/* PA0 is chosen just as illustrating example, you should modify the defines
|
||||
below according to your hardware configuration. */
|
||||
#define USB_DISCONNECT GPIOA
|
||||
#define USB_DISCONNECT_PIN GPIO_PIN_0
|
||||
#define RCC_AHBPeriph_GPIO_DISCONNECT RCC_AHBPeriph_GPIOA
|
||||
#define STM32L15_USB_CONNECT GPIO_ResetBits(USB_DISCONNECT, USB_DISCONNECT_PIN)
|
||||
#define STM32L15_USB_DISCONNECT GPIO_SetBits(USB_DISCONNECT, USB_DISCONNECT_PIN)
|
||||
#endif /* USB_USE_EXTERNAL_PULLUP */
|
||||
|
||||
#ifdef USE_STM32L152_EVAL
|
||||
#define EVAL_COM1_IRQHandler USART2_IRQHandler
|
||||
#elif defined (USE_STM32L152D_EVAL)
|
||||
#define EVAL_COM1_IRQHandler USART1_IRQHandler
|
||||
#define EVAL_COM1_IRQHandler USART2_IRQHandler
|
||||
#elif defined(USE_STM32L152D_EVAL)
|
||||
#define EVAL_COM1_IRQHandler USART1_IRQHandler
|
||||
#endif /*USE_STM32L152_EVAL*/
|
||||
|
||||
#endif /* USE_STM3210B_EVAL */
|
||||
|
|
|
@ -1,38 +1,33 @@
|
|||
/**
|
||||
******************************************************************************
|
||||
* @file uart-msg.c
|
||||
* @author System LAB
|
||||
* @version V1.0.0
|
||||
* @date 17-June-2015
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
||||
*
|
||||
* 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. Neither the name of STMicroelectronics nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
/*
|
||||
* Copyright (c) 2012, STMicroelectronics.
|
||||
* 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. Neither the name of the Institute nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS 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 "contiki.h"
|
||||
#include "dev/leds.h"
|
||||
|
@ -47,22 +42,23 @@
|
|||
void uart_send_msg(char *);
|
||||
extern st_lib_uart_handle_typedef st_lib_uart_handle;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static unsigned char databyte[1] = {0};
|
||||
static unsigned char databyte[1] = { 0 };
|
||||
/*---------------------------------------------------------------------------*/
|
||||
/**
|
||||
* @brief Rx Transfer completed callbacks.
|
||||
* @param huart: Pointer to a st_lib_uart_handle_typedef structure that contains
|
||||
* the configuration information for the specified UART module.
|
||||
* @retval None
|
||||
*/
|
||||
void st_lib_hal_uart_rx_cplt_callback(st_lib_uart_handle_typedef *huart)
|
||||
* @brief Rx Transfer completed callbacks.
|
||||
* @param huart: Pointer to a st_lib_uart_handle_typedef structure that contains
|
||||
* the configuration information for the specified UART module.
|
||||
* @retval None
|
||||
*/
|
||||
void
|
||||
st_lib_hal_uart_rx_cplt_callback(st_lib_uart_handle_typedef *huart)
|
||||
{
|
||||
slip_input_byte(databyte[0]);
|
||||
st_lib_hal_uart_receive_it(&st_lib_uart_handle, databyte, 1);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
uart1_set_input(int (*input) (unsigned char c))
|
||||
uart1_set_input(int (*input)(unsigned char c))
|
||||
{
|
||||
st_lib_hal_uart_receive_it(&st_lib_uart_handle, databyte, 1);
|
||||
}
|
||||
|
@ -71,7 +67,7 @@ void
|
|||
slip_arch_init(unsigned long ubr)
|
||||
{
|
||||
st_lib_hal_uart_enable_it(&st_lib_uart_handle, UART_IT_RXNE);
|
||||
//uart1_set_input(slip_input_byte);
|
||||
/* uart1_set_input(slip_input_byte); */
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
void
|
||||
|
@ -82,12 +78,13 @@ slip_arch_writeb(unsigned char c)
|
|||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @brief Send a message via UART
|
||||
* @param msg the pointer to the message to be sent
|
||||
* @retval None
|
||||
*/
|
||||
void uart_send_msg(char *msg)
|
||||
* @brief Send a message via UART
|
||||
* @param msg the pointer to the message to be sent
|
||||
* @retval None
|
||||
*/
|
||||
void
|
||||
uart_send_msg(char *msg)
|
||||
{
|
||||
st_lib_hal_uart_transmit(&st_lib_uart_handle, (uint8_t*)msg, 1, 5000);
|
||||
st_lib_hal_uart_transmit(&st_lib_uart_handle, (uint8_t *)msg, 1, 5000);
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
|
Loading…
Reference in a new issue