Show Posts
Pages: 1 2 3 [4] 5 6 ... 11
46  Using Arduino / Networking, Protocols, and Devices / Re: Can SPI overload my UNO if called too much? on: April 28, 2012, 02:27:00 pm
For complete giggles, can you try something?

In rtc.ino ReadTimeDate function, comment out EVERYTHING involving the "String" class (the declaration and all the temp.concat lines) and just put some simple message in place...

Then try running it outside of the every-2-second condition and see if it helps.
47  Using Arduino / Networking, Protocols, and Devices / Re: Nrf24l01 2.4ghz modules and mega2560...definitive pinout?? on: April 28, 2012, 08:06:45 am
CE, CSN can be plugged into any digital pin; if you actually intend to use the IRQ feature (rather than periodically poll the device to see if it has data available) you need to attach IRQ to a pin that has an interrupt associated, i.e. one you can register with "attachInterrupt()" otherwise leave IRQ disconnected.  (I suppose you can use any digital pin if your supporting library supports the PCINT interrupt system, but I don't know if any of them do.)

Whichever pin you use for CE and CSN needs to be passed to the nrf24 library you're using, so it knows where they are.
48  Using Arduino / Networking, Protocols, and Devices / Re: High speed communication between Arduino and BeagleBone on: April 27, 2012, 06:21:44 am
Probably SPI, although it won't be truly bidirectional b/c the master would have to "allow" the other to talk (since SPI is a master/slave architecture where the master generates the clock, it is full duplex though)...  I2C running at 400KHz may come close and if you design the code right (both devices register themselves as slaves, one "becomes" a master temporarily to initiate communication then goes back to its slave mode once the transaction is complete) it's truly bidirectional (albeit still half-duplex).

SPI can be clocked out at up to 1/2 the arduino's crystal clock speed (so 8Mbps max for your typical 16MHz arduino).

But the better question here is, what use do you have with such a high-speed link with an Arduino?  What kind of data are you transferring to/from it and how long do you expect to wait for the arduino to process data between I/O bursts?
49  Using Arduino / Networking, Protocols, and Devices / Re: rf24HQ: a new library for the nRF24L01+ RF transceiver. on: April 25, 2012, 10:19:33 am
Fancy!  I don't own any nRF24L01+'s yet but I have an order on the way (and I've been perusing the datasheet)...
Any functions to set the CRC length?  I might peruse the datasheet some more and see if anything else is missing.  Looks like a solid foundation for a nice library to me.

edit:
Looks like you'd need to keep track of the 1 vs 2-byte CRC status, and include that with the various setConfig() usages throughout the library (mainly enableRx and enableTx)...
50  Using Arduino / Microcontrollers / Re: Looking for a microcontroller with integrated RF on: April 25, 2012, 08:06:51 am
Also FWIW, Atmel does make an ATmega with integrated 802.15.4 (ZigBee protocol)... the ATmega128RFA1.  Not sure if anybody's built one out with Arduino IDE support yet.

http://www.atmel.com/devices/ATMEGA128RFA1.aspx

Sadly, they only come in QFN form factor, so us DIY'ers aren't going to build our own boards unless we're the adventurous hotplate reflow soldering types...
51  Using Arduino / Microcontrollers / Re: Looking for a microcontroller with integrated RF on: April 25, 2012, 08:04:47 am
I saw those Nordic SoC's with the 8051.  Was kind've curious about them.  Does anyone know how easy/simple it is to pick up 8051 development?  (Looks like Nordic does supply SDKs et al, so maybe I should look at them and answer my own question...)
52  Using Arduino / Microcontrollers / Re: Possible to put Arduino on a ATXMEGA64A1-AU? on: April 24, 2012, 05:04:50 pm
Well none of the processors listed are in the XMEGA series...

I'd love to see it happen though!  Does the new user-suppliable variants/cores feature make it easier?  What are the general "lowest common denominator" features/classes one is required to implement for a new variant or core?
53  Using Arduino / Microcontrollers / Re: Possible to put Arduino on a ATXMEGA64A1-AU? on: April 24, 2012, 02:24:02 pm
IIRC, the XMEGAs have a lot more going on including an event system, stacked interrupts, some form of DMA (?), a real onboard DAC, higher res ADC... Sounds like a splendid chip, I'd read in the old arduino forum it was hyped up by Atmel but they fell short on producing the chips so nobody could get them (QC issues? plus an actual bug in the DAC output?), I guess that's all overwith now but ARM is eating the lunch of anyone looking for anything >8bit IMO...
54  Using Arduino / Microcontrollers / Re: two 328P with one crystal or resonator on: April 23, 2012, 03:55:33 pm
edit: Think I screwed up my hex for the fuse bits, check it with a fuse calculator to be sure (just corrected it)
55  Using Arduino / Microcontrollers / Re: two 328P with one crystal or resonator on: April 23, 2012, 03:44:50 pm
Fuse-wise, you need to make sure the primary one has Full-Swing Crystal Oscillator enabled[1] (not the Low-Power one you typically find enabled by default when you burn an arduino bootloader via the IDE), the ClockOut fuse bit is enabled, then PORTB0 (aka digital pin 8 on an arduino) has to go into XTAL1 on the 2nd one and that one needs its fuses set to External Oscillator.  Likewise, digital pin 8 on the first processor can't be used for I/O.

For the 328P, example fuse settings...

Master (with the crystal across XTAL1/XTAL2 and 22pF ceramic caps between each XTAL line and GND)-
Extended fuse: 0x05   (BOD enabled)
High fuse: 0xDE   (Self-Programming enabled, Reset Vector=Bootloader)
Low fuse: 0x97   (CLKO, SUT=01, CKSEL=Full Swing Oscillator)
**note that the exact fuses may differ depending on what kind of crystal/resonator you have:
A quartz crystal with BOD enabled, as we have it here, should have SUT=01 with CKSEL bits = 0111, yielding a low fuse of 0x97
A ceramic resonator with BOD enabled should have SUT=10 and CKSEL bits = 0110, which would yield a low-fuse of 0xA6.


Slave processor (with master's PORTB0 pin going into slave's XTAL1, no caps required and XTAL2 suddenly becomes PORTB7, a usable I/O pin)-
Extended fuse: 0x05
High fuse: 0xDE
Low fuse: 0xC0   (SUT=00, CKSEL=External Oscillator)


Note [1]: This advice comes from page 28 of the ATmega48A/48PA/88A/88PA/168A/168PA/328/328P datasheet;
Quote
Low Power Crystal Oscillator
Pins XTAL1 and XTAL2 are input and output, respectively, of an inverting amplifier which can be configured for use as an On-chip Oscillator, as shown in Figure 8-2 on page 29.  Either a quartz or ceramic resonator may be used.

This Crystal Oscillator is a low power oscillator, with reduced voltage swing on the XTAL2 output.  It gives the lowest power consumption, but is not capable of driving other clock inputs, and may be more susceptible to noise in noisy environments.  In these cases, refer to the "Full Swing Crystal Oscillator" on page 30.
... There is some confusion though, because the Clock Output Buffer section implies any clock may be used:
Quote
Clock Output Buffer
The device can output the system clock on the CLKO pin.  To enable the output, the CKOUT Fuse has to be programmed.  This mode is suitable when the chip clock is used to drive other circuits on the system.  The clock also will be output during reset, and the normal operation of I/O pin will be overridden when the fuse is programmed.  Any clock source, including the internal RC Oscillator, can be selected when the clock is output on CLKO.  If the System Clock Prescalar is used, it is the divided system clock that is output.
56  Using Arduino / Microcontrollers / Re: ATmega1284P: End to End using 1.0 IDE on: April 22, 2012, 08:43:51 pm
Just found this thread, read through the last 10 pages and I do not feel alone anymore smiley-confuse . I have been trying to get a 1284P to work on a Sanguinololu ( http://reprap.org/wiki/Sanguinololu ) board and it has been a struggle. Everything works with a 644P so the hardware is fine.

I have had some success on version 0023 but that does not compile the code that I need in the chip ( https://github.com/ErikZalm/Marlin ) and the 1.0 IDE does compile the code but I cannot get the IDE to connect to the board (it does work with the Duemilenove and Uno). I am using maniacbug 1284p firmware ( https://github.com/maniacbug/mighty-1284p ) that I can get into the chip with 0023 and a Duemilenove acting as ISP. Blink works (in many different pins) and the timing is correct using 0023.

1.0 will not talk to the Sanguinololu. I have tried changing the fuse settings as seen here (http://stevesfixitshop.blogspot.com/2011/12/sanguinololu-13a-part-3not-out-of-woods.html ) with some interesting responses on the verbose mode on the IDE but no talk. The Sanguinololu uses a ceramic resonator for 16MHz and I have tried to decipher the fuse calculator ( http://www.engbedded.com/fusecalc/ and a little easier to understand here http://elektronik-kompendium.de/public/arnerossius/programme/web/avrfuse/mxx4fuse.html ) to no avail.

The people on this thread seem to be quite knowledgeable about the task at hand as the title says, so if anyone can provide some hints that would be greatly appreciated.
Just for the heck of it ... What fuses are you trying right now?  (I was just knee-deep in the Atmel datasheet for the chip so it's fresh in my head...)
57  Using Arduino / Microcontrollers / Re: ATmega1284P: End to End using 1.0 IDE on: April 21, 2012, 09:14:17 am
Quick question.. I have read this entire thread  and had a quick read of the Atmel data sheet on the ATmega1284 and I am embarrassed to reveal that I haven't a clue as to the difference between the 1284 and the 1284P.
The 1284P seems to cost a bit more...


Which one to use and why?
 smiley-roll
David Garrison

Gaithersburg, MD

The "P" versions of Atmel's AVR processors denote the PicoPower edition, which I don't think adds anything functional to the code/instruction set (not sure about that though) but does denote that the processor has some internal changes that make it use less power.
http://www.atmel.com/technologies/lowpower/picopower.aspx


The only thing to keep in mind is the non-P and P versions usually have different device signatures, and I'm not sure if the copy of AVRDUDE that comes with the arduino IDE has an entry in its avrdude.conf for the non-P version (with the conventional ATMEGA328, it does not) so it can make it a little more complicated to burn bootloaders or burn sketches directly with the ISP (you typically have to give the -F option to avrdude to force it to burn anyway, since otherwise it'll error with a signature mismatch).

Once you have a bootloader burned on there though, the two should basically look & work the same and you can upload sketches from within the Arduino IDE over the USB serial (FTDI cable or mikroElectronics module)
58  Using Arduino / Programming Questions / Re: serialEvent call on: April 20, 2012, 09:09:38 am
What is "if (serialEventRun)" ...?  Kinda confused about that one.  Does that evaluate to "true" if the function serialEventRun() is defined?
59  Using Arduino / Installation & Troubleshooting / Re: Programming New ATMEGA 16U2 Chip on: April 20, 2012, 08:53:22 am
Ah yeah, regarding the last post, I noticed when flashing normal ATmega328's et al using my Olimex AVR-ISP500, the Olimex does NOT power the board.  I have to bring +5V from another source or plug up a USB cable to the board or else the programmer won't find the chip.
60  Using Arduino / Microcontrollers / Re: Device Signature - ATmega328P-PU on: April 20, 2012, 08:15:18 am
Huh, weird, can you paste the whole avrdude command & error?
Pages: 1 2 3 [4] 5 6 ... 11