Maniacbug's RF24 arduino library ported to mbed. Tested, it works for Nucleo F411

Dependents:   RF24Network_Send RF24Network_Receive WeatherStation maple_chotobot_rf_motores ... more

Committer:
akashvibhute
Date:
Thu Nov 05 05:40:23 2015 +0000
Revision:
2:3bdf0d9bb71f
Child:
3:e94be00fd19e
Updated with TMRh20's RF24 library on Nov/04/2015 from https://github.com/TMRh20; Porting completed on Nov/05/2015

Who changed what in which revision?

UserRevisionLine numberNew contents of line
akashvibhute 2:3bdf0d9bb71f 1
akashvibhute 2:3bdf0d9bb71f 2 /*
akashvibhute 2:3bdf0d9bb71f 3 Copyright (C) 2011 J. Coliz <maniacbug@ymail.com>
akashvibhute 2:3bdf0d9bb71f 4 This program is free software; you can redistribute it and/or
akashvibhute 2:3bdf0d9bb71f 5 modify it under the terms of the GNU General Public License
akashvibhute 2:3bdf0d9bb71f 6 version 2 as published by the Free Software Foundation.
akashvibhute 2:3bdf0d9bb71f 7 */
akashvibhute 2:3bdf0d9bb71f 8
akashvibhute 2:3bdf0d9bb71f 9 /* Akash Vibhute <akash.roboticist@gmail.com>
akashvibhute 2:3bdf0d9bb71f 10 *
akashvibhute 2:3bdf0d9bb71f 11 * Modified for mbed support. Base code taken from TMRh20's github as on 04/Nov/2015
akashvibhute 2:3bdf0d9bb71f 12 *
akashvibhute 2:3bdf0d9bb71f 13 */
akashvibhute 2:3bdf0d9bb71f 14
akashvibhute 2:3bdf0d9bb71f 15
akashvibhute 2:3bdf0d9bb71f 16 #ifndef __RF24_CONFIG_H__
akashvibhute 2:3bdf0d9bb71f 17 #define __RF24_CONFIG_H__
akashvibhute 2:3bdf0d9bb71f 18
akashvibhute 2:3bdf0d9bb71f 19 /*** USER DEFINES: ***/
akashvibhute 2:3bdf0d9bb71f 20 //#define FAILURE_HANDLING
akashvibhute 2:3bdf0d9bb71f 21 //#define SERIAL_DEBUG
akashvibhute 2:3bdf0d9bb71f 22 //#define MINIMAL
akashvibhute 2:3bdf0d9bb71f 23 /**********************/
akashvibhute 2:3bdf0d9bb71f 24 #define rf24_max(a,b) (a>b?a:b)
akashvibhute 2:3bdf0d9bb71f 25 #define rf24_min(a,b) (a<b?a:b)
akashvibhute 2:3bdf0d9bb71f 26
akashvibhute 2:3bdf0d9bb71f 27 #if defined SPI_HAS_TRANSACTION && !defined SPI_UART && !defined SOFTSPI
akashvibhute 2:3bdf0d9bb71f 28 #define RF24_SPI_TRANSACTIONS
akashvibhute 2:3bdf0d9bb71f 29 #endif
akashvibhute 2:3bdf0d9bb71f 30
akashvibhute 2:3bdf0d9bb71f 31 #include <mbed.h>
akashvibhute 2:3bdf0d9bb71f 32
akashvibhute 2:3bdf0d9bb71f 33 // RF modules support 10 Mhz SPI bus speed
akashvibhute 2:3bdf0d9bb71f 34 const uint32_t RF_SPI_SPEED = 10000000;
akashvibhute 2:3bdf0d9bb71f 35
akashvibhute 2:3bdf0d9bb71f 36 #include <stdint.h>
akashvibhute 2:3bdf0d9bb71f 37 #include <stdio.h>
akashvibhute 2:3bdf0d9bb71f 38 #include <string.h>
akashvibhute 2:3bdf0d9bb71f 39
akashvibhute 2:3bdf0d9bb71f 40 #define _BV(x) (1<<(x))
akashvibhute 2:3bdf0d9bb71f 41 #define _SPI SPI
akashvibhute 2:3bdf0d9bb71f 42
akashvibhute 2:3bdf0d9bb71f 43 #ifdef SERIAL_DEBUG
akashvibhute 2:3bdf0d9bb71f 44 #define IF_SERIAL_DEBUG(x) ({x;})
akashvibhute 2:3bdf0d9bb71f 45 #else
akashvibhute 2:3bdf0d9bb71f 46 #define IF_SERIAL_DEBUG(x)
akashvibhute 2:3bdf0d9bb71f 47 #endif
akashvibhute 2:3bdf0d9bb71f 48
akashvibhute 2:3bdf0d9bb71f 49 #define printf_P printf
akashvibhute 2:3bdf0d9bb71f 50 #define _BV(bit) (1<<(bit))
akashvibhute 2:3bdf0d9bb71f 51 #define pgm_read_byte(addr) (*(const unsigned char *)(addr))
akashvibhute 2:3bdf0d9bb71f 52
akashvibhute 2:3bdf0d9bb71f 53 typedef uint16_t prog_uint16_t;
akashvibhute 2:3bdf0d9bb71f 54 #define PSTR(x) (x)
akashvibhute 2:3bdf0d9bb71f 55 #define printf_P printf
akashvibhute 2:3bdf0d9bb71f 56 #define strlen_P strlen
akashvibhute 2:3bdf0d9bb71f 57 #define PROGMEM
akashvibhute 2:3bdf0d9bb71f 58 #define pgm_read_word(p) (*(p))
akashvibhute 2:3bdf0d9bb71f 59 #define PRIPSTR "%s"
akashvibhute 2:3bdf0d9bb71f 60
akashvibhute 2:3bdf0d9bb71f 61 #endif // __RF24_CONFIG_H__
akashvibhute 2:3bdf0d9bb71f 62