|
|
|
|
|
|
|
|
|
Spockie-Tech
Site Admin
Joined: 31 May 2004
Posts: 3160
Location: Melbourne, Australia
|
Interesting, what is it about the Arduino environment that you dont like ?
I had a bit of a skirmish with Sean at last Robowars over it
It seems to me that a lot of people who have learnt the "traditional" way of doing things dont like it because it makes things "too easy" - thus invalidating their effort to learn the hard/real way. I have seen exactly the same attitude from old Vinyl DJ's who dont like the modern digital-DJ programs that can automatically handle the beat/key mixing functions for you.. "But *I* had to learn how to do it the *hard* way, why should *you* get it easily done for you ??"
[old codger voice] I started off writing in raw assembly code back in the Z80/6502/6809 days, probably before you youngin's had heard of electricity We had to be able to recite the 7400ttl databook off the top of our heads *backwards*.
[/old codger]
Arduino looks to me just like a well-setup Macro-Assembler with a bunch of scripts and libraries pre-rolled for you would look.
Its a toolchain that any experienced coder would work towards creating for themselves naturally if given time to focus on building their tools and not just the end product.
So someone has taken their well-delevoped toolchain for a popular micro (AVR), made it free and open-source and N00b friendly and specified a standardised piece of hardware and software so other can make add-on bits for it easily.
So whats the reason for all the hating on it by "I'm a *serious* coder - Arduino sucks" types ? I can write raw *machine-code* in Hex if I really want to, just like I could build a functioning 8 bit computer out of the 7400-TTL series chips, but why would you bother ?
If you want to hack the raw C, go ahead, its there in the function libraries, the GCC compiler is only 1 or 2 layers down from the GUI. The only things I dont like about it is the inbuilt editor is a bit simplistic (so I link to an external - Ultra-Edit, or you could link it to your favourite IDE). and the lack of an Emulator/Debugger to go with it.
If you want to pull rank, I'll unearth and dust of my old Tafe 6809e PCB with the Hex Keypad, 7-Seg LCD's, find the wind-up key for it, and let see you "real coders" hand punch in a hex boot loader to read the serial port and teach you what "bootstrap" really means
So seriously, whats the objection ? _________________ Great minds discuss ideas. Average minds discuss events. Small minds discuss people
|
Wed Jun 30, 2010 10:58 am |
|
|
|
|
Spockie-Tech
Site Admin
Joined: 31 May 2004
Posts: 3160
Location: Melbourne, Australia
|
Maaaate.. Assembly ? Let me tell YOU about Assembly !
One job I had, I had to write the code for a "terminal" (fancy Keypad) for an Alarm System (Concept 3000).
I spent a *month* (full time) hand-coding the assembly to run the keypad, LCD and some Auxillary outputs, because it *also* had to run a bit-basher serial protocol in the background for the "lan" communications that used a custom *variable-speed* priority-slot collision-avoidance/detection/retry mechanism with a DHCP-like address assignment system so you could just plug up to 200 terminals in and they would just "work" communicating with the master over a two-wire interface.
The cheap-asses gave me a wimpy slow Z8 Micro with no UART in it, because they expected sales volumes of 1,000-10,000 per month and the chip with the UART was a whole $dollar or two more expensive than the uart-less version. So as the boss said "I dont care if it takes you 3 months to get it going, we'll still save money paying your wages and doing it this way than buying the more expensive chip"
So here I am writing and re-writing execution loops and looking up the bloody cycle-count times for different instructions and writing code that looks like a dogs breakfast using either the most basic, or weird-ass instructions becuase "I can save 3 microseconds in my keyboard scan routine using these intructions, which will let me get back to the interrupt routine to scan the next bit-basher bit in time ! woohoo.. oh bugger, run out of code space, wont compile, hmm, how can I keep the simpler codes speed advantage and still shrink the code ? I know, I'll use a lookup table and make use of that huge 42 bytes of unused data space Ive got ! and son and so on.."
Nearly drove me batty after 9 months of that sort of stuff, but it did give my assembly coding skills a serious workout and polish up which have sadly rusted up again in the intervening years - the usual story, if you dont use it, you lose it. But thats alright, nobody pays genius assembly coders any decent money anyway..
[/soapbox off]
So dont talk to *me* about assembly sonny !
(man I still feel like an old codger with all these "back in my day" anecdotes" ! )
Just a guess, but have you tried a different USB-Serial convertor ? They are the absolute biggest Pieces.O.S. Ive ever met.. no two work the same.. I have had heaps of trouble with Fuel Injection/Ignition/PicAxe/Anything that uses them working with Model A, but not with Model B. Took me ages to find one that a fussy Fuel Injection computer would talk via.
I have two different ones here for PicAxes, both work, but one programs *slowly* but reliably, The little progress bar goes across the screen in about 10 seconds. The other one programs in about 3 seconds, but fails about 1 out of 10 programs. I'm guessing its the lack of handshaking, but why one runs 3x faster than the other when they are both at the same baud rate is beyond me.
I would reccomend using a USB/Serial convertor based on the FTDI chipset, and preferably one that is known to work well for Arduino applications ( http://www.adafruit.com/index.php?main_page=product_info&cPath=19&products_id=70 ) for example.
Not saying thats definitely it, but they sure can screw you around if you have a weird one and more of them are weird than are good in my experience. _________________ Great minds discuss ideas. Average minds discuss events. Small minds discuss people
|
Wed Jun 30, 2010 11:43 am |
|
|
|
|
|
|