CCxxxx Driver  0.0.1
ccx_spi.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright (c) 2017, Alan Barr
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * * Redistributions of source code must retain the above copyright notice, this
9 * list of conditions and the following disclaimer.
10 *
11 * * Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
22 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *******************************************************************************/
26 
27 #ifndef __CC1101_SPI_H__
28 #define __CC1101_SPI_H__
29 
30 #include <ccx_api.h>
31 
39 /******************************************************************************/
48 /******************************************************************************/
76 uint8_t ccxSpiInit(void);
77 
84 uint8_t ccxSpiShutdown(void);
85 
93 uint8_t ccxSpiPinChipSelectSet(uint8_t setValue);
94 
108 uint8_t ccxSpiPinSlaveOutRead(uint8_t *currentValue);
109 
161 uint8_t ccxSpiTransaction(uint8_t address,
162  const uint8_t *writeBytes,
163  uint8_t writeLength,
164  uint8_t *readBytes,
165  uint8_t readLength);
166 
173 uint8_t ccxSpiDelay25us(void);
174 
175 /******************************************************************************/
177 /******************************************************************************/
178 
179 #endif
uint8_t ccxSpiTransaction(uint8_t address, const uint8_t *writeBytes, uint8_t writeLength, uint8_t *readBytes, uint8_t readLength)
Start a SPI transaction to the CC1101, either read or write.
uint8_t ccxSpiDelay25us(void)
Provide a reliable, 25 us delay.
uint8_t ccxSpiInit(void)
Initialise the SPI hardware.
CCX Basic API definitions. See Basic CCxxxx API.
uint8_t ccxSpiShutdown(void)
Shutdown the SPI hardware.
uint8_t ccxSpiPinChipSelectSet(uint8_t setValue)
Set the state of the Chip Select (CS) line.
uint8_t ccxSpiPinSlaveOutRead(uint8_t *currentValue)
Read the current state of the Slave Out (SO) line.