Show Posts
Pages: 1 ... 5 6 [7] 8 9 ... 31
91  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: April 19, 2014, 08:37:13 am
I guess you mean "Cosa Tiny (ATtiny84, 8 MHz internal clock)". In that case you have not installed correctly. What is the path to the install directory?

Cheers!
92  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: April 19, 2014, 08:21:26 am
My guess is that you have not selected the correct board. You need to select one of the Cosa Arduino boards. See the Tools>Boards menu in the Arduino IDE.

Cheers!
93  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: April 14, 2014, 04:35:52 pm
Some news on the latest updates:

1. Improved documentation
The on-line documentation (web/embedXcode) has been extended with circuit illustrations. Below are a few examples:
http://dl.dropboxusercontent.com/u/993383/Cosa/doc/html/dc/d6e/classST7735.html#friends
https://github.com/mikaelpatel/Cosa/blob/master/cores/cosa/Cosa/Canvas/Driver/ST7735.hh#L39
https://github.com/mikaelpatel/Cosa/blob/master/examples/Canvas/CosaCanvasHCSR04/CosaCanvasHCSR04.ino#L23
The class documentation has also been restructured to improve readability.

2. Improved LCD 4-bit adapter
The Cosa LCD (HD44780) 4-bit parallel adapter may be used with all boards supported by Cosa. The LCD keypad shield works correctly on Uno, Mega, Leonardo, etc.
https://github.com/mikaelpatel/Cosa/blob/master/cores/cosa/Cosa/LCD/Driver/HD44780.hh#L297
https://github.com/mikaelpatel/Cosa/blob/master/cores/cosa/Cosa/LCD/Driver/HD44780_IO_Port4b.cpp

3. LCD horizontal and vertical bars
New example sketches that shows how to implement horizontal and vertical bars for progress indication or value.
https://github.com/mikaelpatel/Cosa/blob/master/examples/LCD/CosaLCDvbar/CosaLCDvbar.ino
https://github.com/mikaelpatel/Cosa/blob/master/examples/LCD/CosaLCDhbar/CosaLCDhbar.ino

4. Additional footprint reduction
Fine tuning of the Cosa startup code and classes to reduce the footprint.

5. Input/OutputPin optimizations
Additional optimization of the Cosa Input- and OutputPin classes to allow speedup X3-X10 compared to Arduino digitalRead/Write. See Cosa Benchmarks.
https://github.com/mikaelpatel/Cosa/blob/master/examples/Benchmarks/CosaBenchmarkPins/CosaBenchmarkPins.ino#L529

6. Circuit descriptions
Circuit descriptions are available in device header files, doxygen documentation and in example sketches.

Cheers!
94  Development / Other Software Development / Re: Arduino on Xcode Project — Official Thread on: April 08, 2014, 01:31:49 pm
Have you considered other platforms?
Please see my answers here smiley

Cheers!
95  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: April 08, 2014, 01:28:41 pm
Have you considered other platforms?
Yes! I get this question a lot and have considered porting Cosa to other hardware platforms. Cosa is 100+ KLOC commented multiple AVR MCU core with 100+ example sketches. And with over 1000 development hours put into it. Porting to Due or other popular boards such as Launchpad takes 200-300 hours development and then lots of hours regression testing. With this in mind there would need to be a larger community and interest for such an undertaking.

Moving to "larger" boards such as the 32-bit Due/SAM would require even more structure; a RTOS with HAL, and interfaces for device drivers and other hardware resources. Getting this right is important to allow scaling.

Cheers!
96  Development / Other Software Development / Re: Arduino on Xcode Project — Official Thread on: April 07, 2014, 07:57:12 am
@avenue33

This looks great and very much what I was hoping for with the Xcode platform.

The hours of pushing an industry strength programming style, object-orientation and rich documentation is now starting to pay off. This is a quantum leap compared to the Arduino/Wiring core code base.

Getting documentation direct and the list of member functions when typing helps a lot when learning a large object-oriented platform as Cosa.

Nice work!

97  Development / Other Software Development / Re: Arduino on Xcode Project — Official Thread on: April 07, 2014, 07:03:40 am
@avenue33

With the latest Cosa update I understand that you have got the Xcode code-sense work. Does this mean that the Cosa documentation is now available as pop-up boxes? As all member functions are fully documented with the doxygen-style this would give a major advantage when learning to use the Cosa classes. Most of the Arduino/Wiring code base is not documented in this style.

Are there any code-sense specific tags that can be used to improve documentation?

Also does the code-sense also handle auto-completion?

Cheers!
98  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: April 07, 2014, 07:02:25 am
@avenue33

With the latest update I understand that you have got the Xcode code-sense work. Does this mean that the Cosa documentation is now available as pop-up boxes? As all member functions are fully documented with the doxygen-style this would give a major advantage when learning to use the Cosa classes. Most of the Arduino/Wiring code base is not documented in this style.

Are there any code-sense specific tags that can be used to improve documentation?

Also does the code-sense also handle auto-completion?

Cheers!
 
99  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: April 04, 2014, 03:18:59 pm
I managed to get the .hh files recognized as C++ header files by Xcode. So question answered.
@avenue33

Nice! The comment about using the issue handling of github is that it better supports dialog. This is often lost if a new topic is not created on the forum. Also after time the topics often become multi-purpose.

It does not have to be a trouble report for an issue. I like to use it also for new features, discussing design, etc. As the issue tracking is integrated with github there is a lot of benefits such as linking to commits, lines of code, other issues, etc. But the most important is keeping the dialog intact and you get attention ;-)

Appreciate your efforts!

Cheers!

[Update: Link to issue on github, https://github.com/mikaelpatel/Cosa/issues/146]
100  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: April 04, 2014, 02:55:05 pm
I'm working on adding support for Cosa on embedXcode.
How possible to use the .h extension for headers and remove the leading Cosa/?
Hi! I would have appreciated this as an issue on github as that allows better support but let us take it here this time. The usage of .hh suffix for C++ header files is in no way my invention. Using the "correct" file suffix allows better integration with standard open-source tools. What does the GCC manual say about C++ extensions?
Quote
C++ source files conventionally use one of the suffixes .C, .cc, .cpp, .CPP, .c++, .cp, or .cxx; C++ header files often use .hh or .H; and preprocessed C++ files use the suffix .ii. GCC recognizes files with these names and compiles them as C++ programs even if you call the compiler the same way as for compiling C programs (usually with the name gcc).
http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Invoking-G_002b_002b.html

The C++ mode in GNU Emacs is automatically invoked for files with the suffix .cpp and .hh.  Emacs is what I use and it is still the fastest IDE in the world ;-)
http://books.google.se/books?id=-RtYk55cqfgC&pg=PA322&dq=emacs+invokes+c%2B%2B+mode&hl=sv&sa=X&ei=KQo_U5izI-uX4wScqYDwAw&ved=0CDQQ6AEwAA#v=onepage&q=emacs%20invokes%20c%2B%2B%20mode&f=false

Removing the Cosa prefix will not help as the header/source is highly organized in several levels of sub-directories. A flat organization is a very poor design. The structuring is there for a very specific purpose. Java, Cocoa, AVR, X11, Boost, etc, etc, all use a very similar structure.

Both these issues should be possible to configure in Xcode. This is not a problem in other IDEs (UEIDE, Eclipse, etc).  I will see what I can find in the Xcode manual.

Code sense for Cosa/Pins.hh can actual be due to the fact that this file contains several classes. This is "legacy" and should instead be several files for each of the Cosa Pin classes. I have this on the "todo"-list.

Cheers!
101  Using Arduino / Installation & Troubleshooting / Re: Multiple Problems with Arduino Leonardo on: April 03, 2014, 03:12:10 am
I have come to the conclusion that I am beyond help - guess its my own fault for buying them without prior testing. However I needed them fast and they where the only ones my supplier had 25 pieces available at that moment :-/

Eventually I will be buying new boards and these will be left to collect dust or maybe I can sell them over e-bay at a loss and with a bad conscience.
The ATmega32u4 based boards take some time to get used to. The startup sequence is a bit more complex and has to be understood to get out of the different error states that can occur. When everything fails you have to basically while compiling the sketch hit the reset at the right time, download the sketch and not bring up the serial monitor too late or too early. It is easy to get frustrated and disturb the start sequence. On top of this the USB connection can be lost and the lock file might not be removed. This gives even more error states to consider.  

If you still cannot get used to the boards I would recommend first going to the supplier and then to the manufacturer.

In Cosa I try to hide a lot of the issues with the USB Serial. There is no need for the "while (!Serial);". The startup sequence will handle that. Cosa is an alternative support library for the Arduino and replaces the Arduino/Wiring core.

Cheers!
102  Using Arduino / Programming Questions / Re: DHT11s read fine from loop, but first one in list doesn't work when in timer...? on: March 30, 2014, 04:46:20 am
It is difficult to have this type of code in an ISR. Basically you get a deadlock as the code fills the serial buffer and waits for the UART to transmit but that does not happen as the UART ISR is locked out.

I recommend that you remove the ISR and use millis() for period checking in the loop().

Cheers!
103  Development / Other Software Development / Re: Initial setup routine ( Run once code ). on: March 30, 2014, 04:21:58 am
Here is an issue that I filed a year ago. https://github.com/arduino/Arduino/issues/1318
Cheers!
104  Development / Other Software Development / Re: Initial setup routine ( Run once code ). on: March 29, 2014, 05:47:44 pm
How about trying to get the Arduino team to fixing the original problem? The Arduino build does not include the EEMEM section and therefore the initialization of the EEMEM varables are not available. Cheers!
105  Development / Other Software Development / Re: Cosa: An Object-Oriented Platform for Arduino programming on: March 27, 2014, 04:38:09 pm
Some news on the latest updates.

1. Improved time/clock handling
Additional support for time/clock compare and handling of wrap-around (RTC/Watchdog/Alarm/Activity).
https://github.com/mikaelpatel/Cosa/blob/master/examples/Compiler/CosaDiff/CosaDiff.ino

2. Improved portability
UART, Pin Change Interrupt and External Interrupt class have been restructured to improve porting. The hardware resource symbols are used instead of board symbols.
https://github.com/mikaelpatel/Cosa/blob/master/cores/cosa/Cosa/IOStream/Driver/UART.hh
https://github.com/mikaelpatel/Cosa/blob/master/cores/cosa/Cosa/IOStream/Driver/UART.cpp

3. Code quality
The Cosa class header file have been restructure to improve readability. Protected and private definitions are moved last in the class definition. The Arduino build setting (platform.txt) suppressing compiler warnings has been removed and all compiler issues removed.

4. AVR GNU tool chain (AVR_8_bit_GNU_Toolchain_3.4.3)
The AVR GCC 4.8.1 is now supported. Previous version (4.3.X) will be deprecated. The new compiler fixes a number of issues (PROGMEM and PSTR warnings, etc).

5. Support for ATmega256rfr2 (Pinoccio)
https://github.com/mikaelpatel/Cosa/blob/master/cores/cosa/Cosa/Board/Pinoccio.hh

Cheers!
Pages: 1 ... 5 6 [7] 8 9 ... 31