Implement the new LED HAL (Sensortag CC26xx/CC13xx)
This commit is contained in:
parent
877c758aaf
commit
ab710a8ed0
@ -1,6 +1,3 @@
|
|||||||
### Add to the source list
|
|
||||||
BOARD_SOURCEFILES += leds-arch.c
|
|
||||||
|
|
||||||
### Will allow the inclusion of the correct CPU makefile
|
### Will allow the inclusion of the correct CPU makefile
|
||||||
CPU_FAMILY = cc13xx
|
CPU_FAMILY = cc13xx
|
||||||
|
|
||||||
|
@ -58,20 +58,13 @@
|
|||||||
#include "ioc.h"
|
#include "ioc.h"
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* \name LED configurations
|
* \name LED HAL configuration
|
||||||
*
|
*
|
||||||
* Those values are not meant to be modified by the user
|
* Those values are not meant to be modified by the user
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define LEDS_RED 1
|
#define LEDS_CONF_COUNT 1
|
||||||
#define LEDS_GREEN LEDS_RED
|
#define LEDS_CONF_RED 1
|
||||||
#define LEDS_YELLOW LEDS_RED
|
|
||||||
#define LEDS_ORANGE LEDS_RED
|
|
||||||
|
|
||||||
#define LEDS_CONF_ALL 1
|
|
||||||
|
|
||||||
/* Notify various examples that we have LEDs */
|
|
||||||
#define PLATFORM_HAS_LEDS 1
|
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
@ -81,8 +74,6 @@
|
|||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define BOARD_IOID_LED_1 IOID_10
|
#define BOARD_IOID_LED_1 IOID_10
|
||||||
#define BOARD_LED_1 (1 << BOARD_IOID_LED_1)
|
|
||||||
#define BOARD_LED_ALL BOARD_LED_1
|
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
|
* Copyright (c) 2018, George Oikonomou - http://www.spd.gr
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
* are met:
|
* are met:
|
||||||
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
@ -28,50 +29,15 @@
|
|||||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
|
||||||
* \addtogroup sensortag-cc13xx-peripherals
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* \file
|
|
||||||
* Driver for the Sensortag-CC1350 LEDs
|
|
||||||
*/
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "dev/leds.h"
|
#include "dev/leds.h"
|
||||||
|
#include "dev/gpio-hal.h"
|
||||||
|
|
||||||
#include "ti-lib.h"
|
#include <stdbool.h>
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static unsigned char c;
|
const leds_t leds_arch_leds[] = {
|
||||||
static int inited = 0;
|
{ .pin = BOARD_IOID_LED_1, .negative_logic = false },
|
||||||
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
void
|
|
||||||
leds_arch_init(void)
|
|
||||||
{
|
|
||||||
if(inited) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
inited = 1;
|
|
||||||
|
|
||||||
ti_lib_rom_ioc_pin_type_gpio_output(BOARD_IOID_LED_1);
|
|
||||||
|
|
||||||
ti_lib_gpio_clear_multi_dio(BOARD_LED_ALL);
|
|
||||||
}
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
unsigned char
|
|
||||||
leds_arch_get(void)
|
|
||||||
{
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
void
|
|
||||||
leds_arch_set(unsigned char leds)
|
|
||||||
{
|
|
||||||
c = leds;
|
|
||||||
ti_lib_gpio_clear_dio(BOARD_IOID_LED_1);
|
|
||||||
|
|
||||||
if((leds & LEDS_RED) == LEDS_RED) {
|
|
||||||
ti_lib_gpio_set_dio(BOARD_IOID_LED_1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
/** @} */
|
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
### Add to the source list
|
|
||||||
BOARD_SOURCEFILES += leds-arch.c
|
|
||||||
|
|
||||||
### Will allow the inclusion of the correct CPU makefile
|
### Will allow the inclusion of the correct CPU makefile
|
||||||
CPU_FAMILY = cc26xx
|
CPU_FAMILY = cc26xx
|
||||||
|
|
||||||
|
@ -58,20 +58,14 @@
|
|||||||
#include "ioc.h"
|
#include "ioc.h"
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* \name LED configurations
|
* \name LED HAL configuration
|
||||||
*
|
*
|
||||||
* Those values are not meant to be modified by the user
|
* Those values are not meant to be modified by the user
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define LEDS_RED 1
|
#define LEDS_CONF_COUNT 2
|
||||||
#define LEDS_GREEN 2
|
#define LEDS_CONF_RED 1
|
||||||
#define LEDS_YELLOW LEDS_GREEN
|
#define LEDS_CONF_GREEN 2
|
||||||
#define LEDS_ORANGE LEDS_RED
|
|
||||||
|
|
||||||
#define LEDS_CONF_ALL 3
|
|
||||||
|
|
||||||
/* Notify various examples that we have LEDs */
|
|
||||||
#define PLATFORM_HAS_LEDS 1
|
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
@ -82,9 +76,6 @@
|
|||||||
*/
|
*/
|
||||||
#define BOARD_IOID_LED_1 IOID_10
|
#define BOARD_IOID_LED_1 IOID_10
|
||||||
#define BOARD_IOID_LED_2 IOID_15
|
#define BOARD_IOID_LED_2 IOID_15
|
||||||
#define BOARD_LED_1 (1 << BOARD_IOID_LED_1)
|
|
||||||
#define BOARD_LED_2 (1 << BOARD_IOID_LED_2)
|
|
||||||
#define BOARD_LED_ALL (BOARD_LED_1 | BOARD_LED_2)
|
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
|
* Copyright (c) 2018, George Oikonomou - http://www.spd.gr
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions
|
* modification, are permitted provided that the following conditions
|
||||||
* are met:
|
* are met:
|
||||||
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer.
|
* notice, this list of conditions and the following disclaimer.
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
@ -28,54 +29,16 @@
|
|||||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
|
||||||
* \addtogroup sensortag-cc26xx-peripherals
|
|
||||||
* @{
|
|
||||||
*
|
|
||||||
* \file
|
|
||||||
* Driver for the Sensortag-CC26XX LEDs
|
|
||||||
*/
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
#include "contiki.h"
|
#include "contiki.h"
|
||||||
#include "dev/leds.h"
|
#include "dev/leds.h"
|
||||||
|
#include "dev/gpio-hal.h"
|
||||||
|
|
||||||
#include "ti-lib.h"
|
#include <stdbool.h>
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
static unsigned char c;
|
const leds_t leds_arch_leds[] = {
|
||||||
static int inited = 0;
|
{ .pin = BOARD_IOID_LED_1, .negative_logic = false },
|
||||||
|
{ .pin = BOARD_IOID_LED_2, .negative_logic = false },
|
||||||
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
void
|
|
||||||
leds_arch_init(void)
|
|
||||||
{
|
|
||||||
if(inited) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
inited = 1;
|
|
||||||
|
|
||||||
ti_lib_rom_ioc_pin_type_gpio_output(BOARD_IOID_LED_1);
|
|
||||||
ti_lib_rom_ioc_pin_type_gpio_output(BOARD_IOID_LED_2);
|
|
||||||
|
|
||||||
ti_lib_gpio_clear_multi_dio(BOARD_LED_ALL);
|
|
||||||
}
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
unsigned char
|
|
||||||
leds_arch_get(void)
|
|
||||||
{
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
void
|
|
||||||
leds_arch_set(unsigned char leds)
|
|
||||||
{
|
|
||||||
c = leds;
|
|
||||||
ti_lib_gpio_clear_multi_dio(BOARD_LED_ALL);
|
|
||||||
|
|
||||||
if((leds & LEDS_RED) == LEDS_RED) {
|
|
||||||
ti_lib_gpio_set_dio(BOARD_IOID_LED_1);
|
|
||||||
}
|
|
||||||
if((leds & LEDS_YELLOW) == LEDS_YELLOW) {
|
|
||||||
ti_lib_gpio_set_dio(BOARD_IOID_LED_2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*---------------------------------------------------------------------------*/
|
|
||||||
/** @} */
|
|
||||||
|
Loading…
Reference in New Issue
Block a user