Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
lpercifield committed Feb 12, 2018
0 parents commit de57aed
Show file tree
Hide file tree
Showing 2,396 changed files with 601,808 additions and 0 deletions.
91 changes: 91 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
CHANGELOG

V 1.1.4
- Added sketches from Simblee Video tutorials
- Added Simblee_ULPDelay_Exit(), which can be called from a callback to make Simblee_ULPDelay() exit in
the loop. Callbacks include SimbleeBLE_onConnect(), SimbleeBLE_onReceive(), etc
- Fix first byte issue with Serial Monitor at 115200 baud.

v 1.1.3
- Added ams AS5601,AS6200,CCS811,ENS210,TMG4903 sensor support

v 1.1.2
- Added wire.end()
- Added RFD77804_Simblee_ToF_Sample_Code example from video
- Added SPI Slave support

v 1.1.1
- Fixed issue with SimbleeAESCOM counter example
- Fixed issue with SimbleeForMobile with image numbers > 7
- Fixed issue with WiFi enable/disable not working
- Fixed issue with SimbleeForMobile multiple screens and SimbleeCloud
- Update to pgmspace.h required for WiFi support
- Fixed issue with SimbleeCloud reporting active on some failure conditions
- Added guard, so loop can just be "cloud.process()"
- Added disconnect() to SimbleeCloud
- Force SimbleeForMobileClient.cpp to closeSocket on connection failure
- Cleanup a return code issue for SimbleeForMobileClient
- Missing stop() in SimbleeForMobile.connect()
- Added resetReason and watchDogTimer support
- SPI enhancements (double buffered transfer16, block transfer, and functions for setting pin assignments)
- Arduino sketch/export compiled binary support
- Added SimbleeToF library
- To free up a full 8-bit port, SPI_INTERFACE_2 pins were changed
from:
#define PIN_SPI_SS_2 (14u)
#define PIN_SPI_MOSI_2 (13u)
#define PIN_SPI_MISO_2 (20u)
#define PIN_SPI_SCK_2 (10u)
to:
#define PIN_SPI_SS_2 (20u)
#define PIN_SPI_MOSI_2 (23u)
#define PIN_SPI_MISO_2 (21u)
#define PIN_SPI_SCK_2 (24u)
in variants.h
Use SPI2.setSCK(int _pinSCK), SPI2.setMOSI(int _pinMOSI), SPI2.setMISO(int _pinMISO) to override at runtime

v 1.1.0
- Android SimbleeForMobile launch
- Please download the latest version of SimbleeForMobile from the Apple AppStore
for use with this release!
(if you get a blank white screen on your iOS device after connection, that
means that you are not using the latest SimbleeForMobile app)
- SimbleeForMobile uses a virtual screen size of 320x568 and the same font on
iOS and Android. This allows your SimbleeForMobile user interfaces to
appear as similar as possible on iOS and Android devices. New examples have
been added, and some existing examples updated to demonstrate new features.
Some minor user interface corrections may be required.
- Removed "advertising:" when Simblee module found during scanning
- Allow out of range Simblee modules to be deleted from scanning screen
- Fixed issue fetching large amounts of data from the internet
- Fixed SimbleeForMobile issue with transparent rectangles
- Added SimbleeForMobile setEnabled function and remoteDeviceType flag.
- Fixed SimbleeForMobile Access Network switch in iOS Settings
- Fix for loader.bat issue with paths with spaces (thanks Per Tillisch)
- Fixed issue with pinWakeCallback and two pins triggering on low
- Fixed issue with VDD_1_3_PS defined twice (use VDD1_3_PS for analogSelection)
- Enable C++11 support (thanks focalintent)
- Fix Print::printf("%f") with correct digits (thanks ShenggaoZhu)
- Fix to SimbleeAES for CCM NONCE: 39bit packet counter and direction bit
(thanks Victor Demchenko)

v 1.0.3
- Fix for pinWake LOW
- Fix for SimbleeCloud for supporting other Ethernet/WiFi clients
- SPI Transaction and useInterrupt support for better compatibility
- support for both SPI and Wire peripherals
- Simblee_pinWakeVoidCallback() support for better attachInterrupt() compatibility
note: prior calls to attachInterrupt() need to be changed to dynamic_attachInterrupt()!
- WString added support for standard c_str()

v 1.0.2
- Fix for flash erase and flash write
- Fix for Simblee BLE power consumption
- RFDLoader support for other toolchains

v 1.0.1
- Changes for Arduino 1.6.6
- Fix for osx/linux permissions

v 1.0.0
- Initial release
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# RFduino: An Arduino shrunk to the size of a finger-tip and made wireless!

# Simblee: IoT for connecting Everyone and Everything IoT4EE

## Installation

* Get the [Simblee hardware](https://Simblee.com).

* Install the [FTDI drivers](http://www.ftdichip.com/Drivers/VCP.htm).

* Download [Arduino 1.6.5](http://arduino.cc/en/Main/Software) on newer.
* _Mac OS X_: Requires Java 6 to be installed. Available [here](https://support.apple.com/kb/DL1572?locale=en_US).

* Open Arduino
* edit preferences, and add https://www.simblee.com/package_simblee_index.json to the Additional Board Manager URLs.
* Open the Boards Manager under Tools->Board menu.
* Select the Simblee package at the end of the list, and click Install to install it.
* Your new board will now show up in the Tools->Board menu.

Select the board and port, and you're ready to go!

## Linux

```
// FTDI drivers are not needed (they are built into the kernel)
wget http://downloads.arduino.cc/arduino-1.6.5-linux64.tar.xz
tar -xf arduino-1.6.3-linux64.tar.xz
Ubuntu: sudo apt-get install default-jre
Fedora: sudo yum install jre
OpenSUSE: sudo zypper install jre
// otherwise the com port open will fail with permission denied (you must logout/login for change to take effect)
sudo usermod -aG dialout <username>
```

## Getting Started

* Attach the USB shield

* Select Simblee from the ```Tools/Board``` menu

* Select the port from the ```Tools/Port``` menu

* Select an example from the ```Files/Examples/SimbleeNonBLE``` or ```Files/Examples/SimbleeBLE``` directory

* Select ```Upload``` to compile, upload and execute the sketch

* Download the Simblee for Mobile iPhone apps from the iPhone App Store (search for ```Simblee```).

* The quick start guide is available [here](https://www.simblee.com/Simblee_Quickstart_Guide_v1.0.pdf).

## SimbleeApps

Check out the [SimbleeApps](http://github.com/Simblee/SimbleeApps) repository for iPhone App source code & Simblee to Raspberry Pi integration projects.

# Communicating with us

The best way to communiate with us is on the [RFduino Forum](http://forum.RFduino.com).
Binary file added RFDLoader.exe
Binary file not shown.
Binary file added RFDLoader32_linux
Binary file not shown.
Binary file added RFDLoader32_osx
Binary file not shown.
Binary file added RFDLoader_linux
Binary file not shown.
Binary file added RFDLoader_osx
Binary file not shown.
Binary file added RFDLoader_pi
Binary file not shown.
23 changes: 23 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

Simblee.name=Simblee
Simblee.build.board=SIMBLEE
Simblee.build.mcu=cortex-m0
Simblee.build.f_cpu=16000000
Simblee.build.core=arduino
Simblee.build.extra_flags=-mthumb -D__Simblee__
Simblee.build.ldscript=linker_scripts/gcc/Simblee.ld
Simblee.build.variant=Simblee
Simblee.build.variant_system_include="-I{build.system.path}/Simblee" "-I{build.system.path}/Simblee/include" "-I{build.system.path}/CMSIS/CMSIS/Include"
Simblee.build.variant_system_lib=libSimbleeSystem.a
#Simblee.build.extra_flags=-DUSB_PID={build.pid} -DUSB_VID={build.vid} -DUSBCON
#Simblee.build.vid=0x2341
#Simblee.build.vid=0x003e

Simblee.upload.tool=RFDLoader

# required to avoid arduino ide exception on upload
Simblee.upload.protocol=

# sizer will not run if this is not defined
# 128KB
Simblee.upload.maximum_size=131072
81 changes: 81 additions & 0 deletions cores/arduino/Arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/*
* Modified by RF Digital Corp. 2015.
* www.RFDigital.com
*
* THE SOURCE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
*/

/*
Copyright (c) 2012 Arduino. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

#ifndef Arduino_h
#define Arduino_h

#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <math.h>

#include "binary.h"

#ifdef __cplusplus
extern "C"{
#endif // __cplusplus

// Includes CMSIS
#include <chip.h>

#include "wiring_constants.h"

#define countof(x) (sizeof(x)/sizeof(x[0]))

#define clockCyclesPerMicrosecond() ( VARIANT_MCK / 1000000L )
#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() )
#define microsecondsToClockCycles(a) ( (a) * clockCyclesPerMicrosecond() )

void yield(void);

#include "libSimblee.h"

#include "wiring.h"
#include "wiring_digital.h"
#include "wiring_analog.h"
#include "wiring_shift.h"
#include "WInterrupts.h"

/* sketch */
extern void setup( void ) ;
extern void loop( void ) ;

#ifdef __cplusplus
} // extern "C"

#include "WCharacter.h"
#include "WString.h"
#include "Tone.h"
#include "WMath.h"
#include "HardwareSerial.h"
#include "wiring_pulse.h"

#endif // __cplusplus

// Include board variant
#include "variant.h"

#endif // Arduino_h
46 changes: 46 additions & 0 deletions cores/arduino/Client.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
Client.h - Base class that provides Client
Copyright (c) 2011 Adrian McEwen. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

#ifndef client_h
#define client_h
#include "Print.h"
#include "Stream.h"
#include "IPAddress.h"

class Client : public Stream {

public:
virtual int connect(IPAddress ip, uint16_t port) =0;
virtual int connect(const char *host, uint16_t port) =0;
virtual size_t write(uint8_t) =0;
virtual size_t write(const uint8_t *buf, size_t size) =0;
virtual int available() = 0;
virtual int read() = 0;
virtual int read(uint8_t *buf, size_t size) = 0;
virtual int peek() = 0;
virtual void flush() = 0;
virtual void stop() = 0;
virtual uint8_t connected() = 0;
virtual operator bool() = 0;
virtual bool isAvailable(int avail) { return (available() >= avail); };
protected:
uint8_t* rawIPAddress(IPAddress& addr) { return addr.raw_address(); };
};

#endif
50 changes: 50 additions & 0 deletions cores/arduino/HardwareSerial.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Modified by RF Digital Corp. 2015.
* www.RFDigital.com
*
* THE SOURCE CODE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
*/

/*
Copyright (c) 2011 Arduino. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

#ifndef HardwareSerial_h
#define HardwareSerial_h

#include <inttypes.h>

#include "Stream.h"

class HardwareSerial : public Stream
{
public:
virtual void begin( const uint32_t dwBaudRate ) = 0;
virtual void begin( const uint32_t dwBaudRate, uint8_t rx_pin, uint8_t tx_pin ) = 0;
virtual void end() = 0;
virtual int available(void) = 0;
virtual int peek(void) = 0;
virtual int read(void) = 0;
virtual void flush(void) = 0;
virtual size_t write(uint8_t) = 0;
using Print::write; // pull in write(str) and write(buf, size) from Print
virtual operator bool() = 0;
};

extern void serialEvent(void) __attribute__((weak));

#endif
Loading

0 comments on commit de57aed

Please sign in to comment.