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 - RFD_Nelson

Pages: [1] 2
1
Hi Wayne,

You can use an unlimited number of devices with SimbleeCOM. Here's a sample sketch that you could load on one of your devices to speak with the host when a button is pushed:

Code: [Select]
uint8_t buttonA = 5;
char node = 'A';

void setup() {
  pinMode(buttonA, INPUT);
  SimbleeCOM.mode = LOW_LATENCY;
  SimbleeCOM.begin();
}

void loop() {
  if (digitalRead(buttonA)) {
    SimbleeCOM.send(node, 1);
  }
}

NOTE: This is an extremely simple sketch to simply show you the basics of using SimbleeCOM. Please also check out the SimbleeCOM examples in the Simblee package.

2
Getting Started / Re: RFDuino ULP comsumption
« on: March 23, 2017, 10:59:45 AM »
Hi ben,

Can you please attach a schematic?

3
Support / Re: Simblee GZLL performs worse than RFduino GZLL
« on: March 22, 2017, 08:07:22 AM »
Hi mjkuwp94,

Thanks for your interest in Simblee!

To help you further, can you post a copy of your sketch or send it to us at: support@rfdigital.com?

We'd be happy to take a look and help you out!

4
Hi Wayne,

Simblee is perfectly suited for this application! Simblee's Ultra-Low Power mode enables you to run for years on a single coin cell battery!

For this application, you could easily put the Simblee in ULP mode, and wait for a button press. The Simblee would then wake, send a packet via our low-latency ultra-fast SimbleeCOM protocol, and go back to sleep.

This application could easily run in the field for years!

Do you have any specific questions about how to implement this?

5
Videos/Guides/Tutorials / Simblee for Mobile and SimbleeCOM - Dual Mode
« on: January 12, 2017, 05:53:29 AM »
<a href="http://youtube.com/v/OOWy8Ds_PAY" target="_blank" class="new_win">http://youtube.com/v/OOWy8Ds_PAY</a>

6
BLE and Low Level Development / Re: Simblee soft device Nordic SDK
« on: November 18, 2016, 06:37:16 AM »
The Simblee uses the S110 stack.

7
Support / Re: clearing the screen of simblee app
« on: October 11, 2016, 06:23:25 AM »
Hi lovelyboy,

Please take a look at our Simblee For Mobile reference: https://www.simblee.com/Getting%20Started%20with%20SimbleeForMobile%20v1.02.pdf.

You'll need to use the ui_event() function to determine which segment was pressed, and perform actions from there.

8
Please take a look at the example sketches in the Arduino IDE after following our Quickstart Guide. Also, you'll find more information in our Videos/Guides/Tutorials section on this forum.

9
Support / Re: event.id == 7 BUG??
« on: October 07, 2016, 02:38:52 PM »
Well put tolson. The object IDs are not globally unique, and may overlap when using multiple screens. In applications with many screens, maintaining a table of object ids for objects that may never exist or only exist for a short amount of time would be cumbersome.

So, in order to capture unique events, we recommend checking the current screen as well as the event.id and event.type.

10
Support / Re: event.id == 7 BUG??
« on: October 07, 2016, 09:10:47 AM »
I'm not exactly sure I'm understanding correctly. Even if you define different variables, the object ids may be the same. So then in your ui_event() function, you may be looking for an event.id == 10 (ui_box2), and you may be currently on screen2, but ui_box may also still be 10, and you have that check first in your code. If this is the case, if (event.id == ui_box) would run instead of else if (event.id == ui_box2), and the code to update screen1 would run, even though those objects don't exist anymore.

Does that help?

11
Support / Re: event.id == 7 BUG??
« on: October 06, 2016, 05:58:27 AM »
Hi Traxxtar,

When creating a screen and objects on it, the object IDs may overlap other object IDs from other screens.

So, when checking the object ID in the ui_event() function, I would recommend you also check which screen you are on.

For instance:

Code: [Select]
void ui(arguments, blah, blah) {
  if (currentScreen == 1) {
    ui_box = SimbleeForMobile.drawRect(10, 10, 10, 10, BLACK);
  } else if (currentScreen == 2) {
    ui_box2 = SimbleeForMobile.drawRect(10, 10, 10, 20, BLACK);
  }
}

void ui_event(arguments, blah, blah) {
  if (event.id == ui_box) {
    // run code for screen1
  } else if (event.id == ui_box2) {
    // run code for screen2
  }
}

However, this code won't work if ui_box and ui_box2 have the same object ID. You would be on screen 2, but the first if condition would have still been met. I would recommend using the currentScreen variable (or however you are tracking what screen you are on) in the ui_event() function to make sure you're catching events from the correct object ID. For example:

Code: [Select]
void ui(arguments, blah, blah) {
  if (currentScreen == 1) {
    ui_box = SimbleeForMobile.drawRect(10, 10, 10, 10, BLACK);
  } else if (currentScreen == 2) {
    ui_box2 = SimbleeForMobile.drawRect(10, 10, 10, 20, BLACK);
  }
}

void ui_event(arguments, blah, blah) {
  if (currentScreen == 1) {
    if (event.id == ui_box) {
      // run code for screen1
    }
  } else if (currentScreen == 2) {
    if (event.id == ui_box2) {
      // run code for screen2
    }
  }
}

I hope this helps!

12
Support / Re: saving the data in flash of simblee
« on: October 06, 2016, 05:49:39 AM »
Hi lovelyboy,

1 page of flash memory can store 1024 bytes of data. You say you're trying to store an integer? If so, remember that declaring 'int variableName;' in your code will declare an integer of the size needed to hold the maximum values throughout the lifecycle of the program. The compiler will determine if your integer needs to be two bytes, 4 bytes, etc...

So to answer your question:

1 page = 1024 bytes

When saving data:

char = 8 bits/1 byte
  - 1024 bytes per page / 1 byte = 1024 values possible per page

int(could be larger than 2 bytes if compiler deems necessary, this must be checked) or uint16_t or short = 16 bits/2 bytes
  - 1024 bytes per page / 2 bytes = 512 values possible per page

int(could be less than 4 bytes if compiler deems necessary, this must be checked) or uint32_t or long or float or (pointer to any variable) = 32 bits/4 bytes
  - 1024 bytes per page / 4 bytes = 256 values possible per page

This same pattern repeats the larger the data types get, but the formula is: 1024 bytes per page / number of bytes in datatype = number of values to hold per page.

I hope this helps!

13
Videos/Guides/Tutorials / SimbleeCOM - Star Network
« on: September 30, 2016, 07:43:43 AM »
<a href="https://www.youtube.com/v/HWEq4B6MQO4" target="_blank" class="new_win">https://www.youtube.com/v/HWEq4B6MQO4</a>

Sketches Attached

14
Videos/Guides/Tutorials / Simblee For Mobile - Updating Objects
« on: September 30, 2016, 06:01:34 AM »
<a href="https://www.youtube.com/v/0b76mKQdrKM" target="_blank" class="new_win">https://www.youtube.com/v/0b76mKQdrKM</a>

Sketch attached.


15
General Announcements / Forum Maintenance
« on: September 27, 2016, 03:39:36 PM »
We will be performing scheduled maintenance on our network including the servers that host this forum. We expect the maintenance to be very short and to cause very little disruption, however you may have a hard time accessing this forum between 7:00AM UTC and 11:00AM UTC. I will post here when the maintenance is completed. Thank you!

Pages: [1] 2
anything