Show Posts
Pages: 1 [2] 3 4 ... 57
16  Development / Other Software Development / Using 1.5.2 beta with Maniac Bug 1284p support on: June 04, 2013, 12:31:01 pm
Hi All...

I am trying to use the 1.5.2 IDE Beta with the Maniac Bug 1284p support. I installed it, and copied the files to what would be the correct location for say 1.0.5, but the IDE does not offer it as a choice. I noticed that the organization in 1.5.2 has changed a bit from 1.0.x, with the sam and avr directories. So, where should the 1284p support go?

17  Using Arduino / Programming Questions / Re: Changing optimization levels - make file? on: June 04, 2013, 11:24:51 am
Thanks guys, I'll check both those out...
18  Using Arduino / Programming Questions / Changing optimization levels - make file? on: June 04, 2013, 04:50:53 am
Hi All...

I have a need to change the optimization flags in a project, and clearly the Arduino IDE does not allow that. I have been searching around for a command line build system that works on Windows, but no luck so far. Does anyone have a make file that works on Windows, of some other build system that allows more control over the compiler?

Thanks...

19  Community / Products and Services / Re: RFduino: iPhone, Bluetooth 4.0 LE, Arduino Compatible Board! on: April 08, 2013, 12:22:34 am
Does anyone know what makes this compatible with Arduino sketches? I suspect that the Arduino sketch has to target the Duo and perhaps the M0 and M3 share the Thumb-2 instruction set, but the M0 uses a "subset" of that instruction set. So I am wondering how compatibility is guaranteed. If they said that the M3 would run code target to the M0 I would say that makes sense, but I'm not so sure about the reverse.
 
20  Using Arduino / Networking, Protocols, and Devices / Re: Which protocols is good for PC communication with Arduino? Thank on: April 01, 2013, 08:22:25 pm
Many good choices. If you want wireless, there is bluetooth, bluetooth low energy, wifi, XBee, and a bunch of other stuff. Your specific application may dictate the best choice.
21  Using Arduino / Networking, Protocols, and Devices / Re: Arduino Wifi Shield to communicate sensor data on: April 01, 2013, 08:20:45 pm
I'm not sure I am following you exactly, but the wifi shield essentially provides a medium over which you can move data using a few different protocols. Did you mean to say that Matlab can receive the data via a TCP socket? If so, you'll have to connect tp that socket by writing code on the Uno, then you'll have to format the data in the wat Matlab wants to receive it, then send it.

If you can do anything you want, you have many options. You could make the Uno look like a web server and have an http client get the data from the Uno. The Uno could be an http client and do a PUT or POST to a web server. You could open a socket to some other computer and send the data. You could use a protocol called UDP to just shoot the data at another device which can receive it. (TCP can guarantee delivery, UDP can not).

There is even a website, called something like Pachu (I tried to Google it, no luck) that lets you POST data to it, and it will log and graph it for you.

So your question is a bit complex. But basically, once you have the wifi shield working and connected to something, you need to write the code that moves the data.
22  Using Arduino / Displays / Re: Pervasive Displays [no power displays - e-paper] on: March 31, 2013, 04:41:55 pm
Awesome thread! I did notice this:

http://www.embeddedartists.com/support/faq.php?id=29

It seems that these displays are not suitable for production, which of course makes me wonder what they are suitable for.
23  Development / Other Hardware Development / Re: [SOLVED] EAGLE question: can I reconnect a net to another net on: March 31, 2013, 04:01:23 pm
The Eagle messages can be a bit confusing, but what's to fear? Just back up the files before you make the change so you can revery back if you mess it up.
24  Development / Other Hardware Development / Re: which is best Wifi shield for arduino? on: March 31, 2013, 03:37:35 pm
The "best" one is the one I am working on, since it does not yet exist. It will:

- Allow operation as an access point
- Have a web server built in
- Have extra memory for storing web content
- Talk to the Arduino host board using I2C or SPI (or both) in addition to offering the UART.

So far, I have yet to find this. There are a few based on the Ganispan 1.2 device, but this has limitations that prevent it from using the latest GS firmware. The official Arduino wifi shield uses SPI, which is great, but the HDG104 has limitations that prevent it from meeting my needs.

Its been frustrating, but I determined that I need to build my own.


 
25  Community / Products and Services / Re: RFduino: iPhone, Bluetooth 4.0 LE, Arduino Compatible Board! on: March 31, 2013, 03:29:19 pm
I just backed that. Looks pretty cool, I'll find some use for it.
26  Topics / Product Design / Re: Creating a finished product on: March 31, 2013, 03:11:47 pm
CrossRoads can be a huge help ;-)

I agree, the electronics and firmware is the easy part. The enclosure is the hard part. Best to use an off the shelf enclosure if you can. If not, have a look at shapeways.com.

The hardest, and possibly the most expensive part, is certification. Europe and Japan need "CE Certification." Depending upon what you're building, you may be able to "self certify" but you may have to pay a "noted agency" to certify it for you.

In the US, if your clock speed exceeds some amount (I think 7 MHz) you'll need FCC certification. Similar deal.

 
27  Topics / Product Design / Re: Itead, Members with Experience... on: March 31, 2013, 03:03:21 pm
I have had great service using these guys:

http://www.internationalcircuits.com/

You can price your order on their site easily, and depending upon your board size and quantity, it can be a very good deal.
28  Using Arduino / Programming Questions / Re: Code help, I need a button to do two things when help for different times. on: March 31, 2013, 02:43:35 pm
I needed to do something similar, although a bit more complex. The code pasted below should help you out.

Code:
#include "Pulser.h"

Pulser::Pulser(uint8_t pin, unsigned long debInt) : Bounce(pin, debInt)
{
  // Initialize private members
  shortPressCount = 0;
  flag = false;

  SHORT_PRESS_INTERVAL = 500;
  LONG_PRESS_DURATION = 1000;
 
  // Set up the input pin
  pinMode(pin, INPUT);
 
  //digitalWrite(pin, HIGH); // Activate internal Pull-Up
  digitalWrite(pin, LOW); // Deactivate internal Pull-Up
}

Pulser::~Pulser(){}

short Pulser::get(void)
{
  // Get the current status of the button. This needs to be done
  // very frequently, so every loop iteration 
  update();

  // Read the button condition and return the state
  if(!read()) // If button is pressed
  {
    // Note the last time the button was pressed
    lastPressMs = millis();
   
    // Record the duration of this press
    dur = duration();

    // Flag that we have an unread pressed button
    flag = true;
   
    // Return 0, since we don't know anything about this press
    // until the user releases it and we look to see what other
    // presses happened recently
    return 0;
  }

  // Button is not currently pressed. Check duration of last press
  if(dur > LONG_PRESS_DURATION)
  {
    // Long press - clear the short press counters since this cancelles
    // the short press history
    if(flag)
    {
      shortPressCount = 0; // clear the short presses counter

      flag = false; // clear the we-have-a-press-to-read flag
      return 0x10; // return the state for a long press
    } 
  }
 
  // It was not a long press, so we look for a short press series

  // Was there a press within the last 1/4 second?
  // If not, clear the counter and return the number
  // of presses in the series. If so, record the press
  // and return 0, waiting for the next press of the series
  // or the user to be done pressing.
  if(millis() - lastPressMs < SHORT_PRESS_INTERVAL)
  {
    // We are still in a series of presses
    if(flag) // do we have a press to read?
    {
      shortPressCount++;
      flag = false;
    }
    return 0; 
  }
  else
  {
    // No press within the last 1/4 second. we are done with
    // this series of short presses. Or, there is no current series
    // which is effectively a series of 0 presses
    short temp = shortPressCount;
    shortPressCount = 0;
    flag = false;
    return temp;
  } 

 

Code:
#include "Pulser.h"

Pulser::Pulser(uint8_t pin, unsigned long debInt) : Bounce(pin, debInt)
{
  // Initialize private members
  shortPressCount = 0;
  flag = false;

  SHORT_PRESS_INTERVAL = 500;
  LONG_PRESS_DURATION = 1000;
 
  // Set up the input pin
  pinMode(pin, INPUT);
 
  //digitalWrite(pin, HIGH); // Activate internal Pull-Up
  digitalWrite(pin, LOW); // Deactivate internal Pull-Up
}

Pulser::~Pulser(){}

short Pulser::get(void)
{
  // Get the current status of the button. This needs to be done
  // very frequently, so every loop iteration 
  update();

  // Read the button condition and return the state
  if(!read()) // If button is pressed
  {
    // Note the last time the button was pressed
    lastPressMs = millis();
   
    // Record the duration of this press
    dur = duration();

    // Flag that we have an unread pressed button
    flag = true;
   
    // Return 0, since we don't know anything about this press
    // until the user releases it and we look to see what other
    // presses happened recently
    return 0;
  }

  // Button is not currently pressed. Check duration of last press
  if(dur > LONG_PRESS_DURATION)
  {
    // Long press - clear the short press counters since this cancelles
    // the short press history
    if(flag)
    {
      shortPressCount = 0; // clear the short presses counter

      flag = false; // clear the we-have-a-press-to-read flag
      return 0x10; // return the state for a long press
    } 
  }
 
  // It was not a long press, so we look for a short press series

  // Was there a press within the last 1/4 second?
  // If not, clear the counter and return the number
  // of presses in the series. If so, record the press
  // and return 0, waiting for the next press of the series
  // or the user to be done pressing.
  if(millis() - lastPressMs < SHORT_PRESS_INTERVAL)
  {
    // We are still in a series of presses
    if(flag) // do we have a press to read?
    {
      shortPressCount++;
      flag = false;
    }
    return 0; 
  }
  else
  {
    // No press within the last 1/4 second. we are done with
    // this series of short presses. Or, there is no current series
    // which is effectively a series of 0 presses
    short temp = shortPressCount;
    shortPressCount = 0;
    flag = false;
    return temp;
  } 

 
29  Using Arduino / Programming Questions / Re: Why does the usage of 'new' increase the size of the program significantly? on: March 30, 2013, 05:50:08 pm
Yes its a one time investment, as you put it. This is true with any good programming environment, whether you're coding for Arduino, Linux, Windows, whatever. The linker should not include stuff that you didn't use. There are piles and piles of linker switches to configure and customize what's linked, how its linked and so on.

But the bottom line is, once its linked, its linked. You won't incur the same penalty for each call to new.

 
30  Using Arduino / Programming Questions / Re: SoftwareSerial problem , but only on 1284p on: March 30, 2013, 02:48:51 pm
That last part, I never understood what was going on there.

I'll have som time this weekend to write a detailed explanation. I also need to compare these macros to ManiacBug's standard 1284P distribution and see if these are a bug or if there is something going on I am missing.

But on the plus side, the off the shelf Seeed Studios card works killer well on my board! I have to use SoftwareSerial but, the shield has a UART on it so I believe that I should not have a problem. The thing has been blasting data via bluetooth to my phone all night.

Of course, its BT 2.1, not BLE. Android needs BT 2.1 and Apple iOS needs BLE. What a pain!
 
Pages: 1 [2] 3 4 ... 57