Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - tolson

Pages: [1] 2 3 ... 56
1
Simblee Libraries / Re: Simblee COM Send and Receive
« on: June 12, 2017, 09:30:18 AM »
The _onReceive functions are interrupt callbacks. Get in and get out! You can't have 1 second delays and large print statements. Just set some variable and/or flags in the _onReceive function and then deal with those in the main loop.

2
Hi Patty,

I think what they are asking for is a CHANGELOG of specific changes relating specifically to the Simblee Library and SimbleeForMobile Library.

The libraries you are referring to are external peripheral libraries. That is like referring to adafruit or sparkfun libraries for various devices. But have nothing to do with the Simblee itself library.

Simblee For Mobile library specific changes and enhancements require the mating SFM Smart Device APP to go with it; which is way over due.


3
Yes, a list of changes and new features is what is desired.
I am still waiting on line drawing in Simblee For Mobile.
And access to the smart device sensors so I don't have to duplicate that hardware on my Simblee For Mobile products.

4
Simblee For Mobile / Re: SimbleeForMobile and its mobile application
« on: June 01, 2017, 12:45:35 AM »
I wish! I had aspirations of doing various EMG products. But Simblee for Mobile library does not supply any line drawing graphics, nor access to smart phone sensors.

SO, you will have to write native iOS and Android apps that can do that stuff and then just use Simblee BLE like RFduino BLE or any other BLE.


5
Support / Re: hand soldering Simblee module?
« on: May 23, 2017, 11:43:02 AM »
I know this is an old topic however I just wanted to share my own experience with other users.

Actually, I for one appreciate when new info is added to old topics as long as it is related to the topic at hand.

6
Patty,

They want the SFM APPS to work first. Asking what more sensors is futile as the ones people responded to the same question for the RFduino several years ago still haven't seen the light of day for the most part.

7
Check out the new shields and kits -

Time of Flight (ToF)
Indoor Air Quality (IAQ VoC)
Color, Proximity
Temperature & Humidity

https://www.youtube.com/playlist?list=PLJKNqIEHkJebPFseRFDwgZ6Nju2rKVGFW

This kits come programmed out of the box, just insert batteries, stack the Simblee breakout board and sensor shield and you can start visualizing sensor data on your mobile device through the Simblee app.    From here, follow our Cloud videos, and program your Simblee to transmit to the Cloud.

https://www.youtube.com/playlist?list=PLJKNqIEHkJebMpso_196RneEfcLKPNrZm

New library update should drop in 1-2 weeks and products are on their way to distributors next week.

Hi Patty,

People want the libraries and SFM APP fixed before wanting more hardware peripherals. The documentation, website, and APPs all need updated.

8
Simblee For Mobile / Re: Simblee with Android 7.0 failing
« on: May 17, 2017, 12:24:52 PM »
What's the buzz! I have customers wanting to bail on RF Digital for lack of expediant fixes for problems with the libraries and SImblee For Mobile APP.
It's been 2 months.

9
Hopefully RFD_nelson will answer your concerns.

10
Hi kceng,

I don't know about this specific issue. But Arduino has deprecated 1.6.9. Arduino is at least 1.8.1 now.


11
Support / Re: Simblee assembly and pick'n place machines
« on: May 14, 2017, 05:42:21 PM »
Thanks Tom.

Another change in our process is to attach the programming header to the board before applying power to the USB shield. I understand damage can occur if I/O pins are connected before power is applied. The theory is beyond me, but I've learned this from a trusted source.

Tim

Right.. Absolutely. I noticed some videos showing people that should know better inserting and/or pulling their shields apart while power is still applied. These devices are NOT hot swappable designs. For anybody that might read this... Always remove your powered USB and/or other power source before attaching and removing shields.


12
Support / Re: Simblee assembly and pick'n place machines
« on: May 14, 2017, 10:57:30 AM »
Hey Tim,

Sounds reasonable to me. I look forward to your further discoveries.

Although, ultimately, it would be nice to know what to do when a more I/O intensive project comes along.


13
Simblee Libraries / Re: Swap I2C SDA and SCL Pins On The Fly?
« on: May 09, 2017, 09:48:38 PM »
That's the question... It looks like it's possible by simply doing
Code: [Select]
Wire.beginOnPins(sclPin1, sdaPin1);and then
Code: [Select]
Wire.beginOnPins(sclPin2, sdaPin2);at some other part of the code.

I have an I2C bus that will be primary, so the secondary will switch to it's bus and then back to the primary when it's done.

is this possible? I will try, and let you know.

Hi biomurph,

You should probably do a Wire.end() before redefining the pins.
BUT, if you are using SImblee there are two hardware I2C busses, so you could do both at the same time.
It is not documented in any company documents. But it is in the source code.

So you could do.
Wire.begin();  //for default pins for I2C1 5,6
Wire2.begin();  //for default pins for I2C2  13,14

or do define customs for both...
Wire.beginOnPins(sclPin1,sdaPin1);
Wire2.beginOnPins(sclPin2,sdaPin2);

Here is my modification to i2c_scanner_dual...

Code: [Select]
// --------------------------------------
// i2c_scanner_dual
//
// Version 1
//    This program (or code that looks like it)
//    can be found in many places.
//    For example on the Arduino.cc forum.
//    The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
//     Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26  2013
//    V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
//    by Arduino.cc user Krodal.
//    Changes by louarnold removed.
//    Scanning addresses changed from 0...127 to 1...119,
//    according to the i2c scanner by Nick Gammon
//    http://www.gammon.com.au/forum/?id=10896
// Version 5, March 28, 2013
//    As version 4, but address scans now to 127.
//    A sensor seems to use address 120.
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//
// Version ThomasOlson teo20140527.01 works with RFduino with mods.
//
// Version ThomasOlson teo20160612.01 Modified to test both I2C
// busses on 3rd generation nRF51822 as in Simblee

#include <Wire.h>


void setup()
{

  Serial.begin(9600);
  Serial.println("\nI2C Scanner Dual Ports");

  Wire.begin(); // default SCL = 5, SDA = 6
  //Wire.beginOnPins(5,6);
  Wire2.begin(); // default SCL2 = 13, SDA = 14
  Wire2.beginOnPins(2,3);
 
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning Bus 1 ...");

  nDevices = 0;

  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    Wire.write(0x00);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device on bus 1 found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }else{
//      Serial.print("Error ");
//      Serial.print(error);
//      Serial.print(" at address 0x");
//      if (address<16)
//        Serial.print("0");
//      Serial.println(address,HEX);
    }   
  }
 
  if (nDevices == 0){
    Serial.println("No I2C devices found on bus 1\n");
  }else{
    Serial.print(nDevices);
    Serial.println(" found\n");
  }



  Serial.println("Scanning Bus 2 ...");

  nDevices = 0;

  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire2.beginTransmission(address);
    Wire2.write(0x00);
    error = Wire2.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C bus 2 device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }else{
//      Serial.print("Error ");
//      Serial.print(error);
//      Serial.print(" at address 0x");
//      if (address<16)
//        Serial.print("0");
//      Serial.println(address,HEX);
    }   
  }
 
  if (nDevices == 0){
    Serial.println("No I2C devices found on bus 2\n");
  }else{
    Serial.print(nDevices);
    Serial.println(" found\n");
  }

  delay(5000);           // wait 5 seconds for next scan
}

14
Support / Re: PAYLOAD convert a int to const char*
« on: May 07, 2017, 03:42:28 PM »
You have to supply a size for you payload buffer.
Just do
char payload[16]; or whatever you think you need to hold your longest string.

Don't add the * to your definition.
using payload by itself is affectively the pointer to the array (buffer).


P.S. wrap your code section in code tags... I'll edit your post so you can look at the source to see how it is done.

15
Support / Re: PAYLOAD convert a int to const char*
« on: May 06, 2017, 01:20:57 PM »
You have to show us your sketch so we can run and see what you are actually doing.

Without that, like Flurin says, there is no way we can second guess what of a dozen errors you could be making in your code.

The variables you naming for itof are not what itof is doing. itof converts a hex value (your AnyValue variable) to a string (your Payload variable).
What you call payload is not a payload. It should be a pre-defined buffer for the converted string to go into.
What you call len is not a length. It is a definition of what BASE you want your string to represent the value as.
2=binary. 8=octal, 10=decimal, 16=hex

itof is not a standard C or C++ function. You have include <itof.h> for it to be recognized in Arduino/Simblee/RFduino.

Code: [Select]

#include <itoa.h>

void setup() {

  Serial.begin(9600);

char payload[100]; // define maximum size of string buffer.

int BASE = 8;   // 2=binary, 8=octal, 10=decimal, 16=hex

int AnyNumber = 122;

  Serial.println(itoa (AnyNumber, payload, BASE));
  Serial.println(payload);

}

void loop() {

}


Pages: [1] 2 3 ... 56