Firmware developent status

It's all about the code!
Post Reply
User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Firmware developent status

Post by russian » Sun Dec 22, 2013 12:37 am

Open tickets are always waiting for volunteers.

In the meantime, I have made some progress towards MAP averaging within a specific angle window - hopefully this value would be much better than just a single MAP reading at a random point of time.

I have implemented tiny oscilloscope feature for the dev console, here are the first screen shots - these pictures show a full camshaft revolution worth of MAP data on idle. Even with noise you can see four spikes for four intake phases:

Image
Image
Image
Image
Image
Image
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
kb1gtt
contributor
contributor
Posts: 3469
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA
Contact:

Re: Firmware developent status

Post by kb1gtt » Mon Dec 23, 2013 11:55 am

Perhaps worth mention, this is an opensource mixed scope software. http://dangerousprototypes.com/2011/07/ ... -channels/ it's handy as it also can decode SPI streams and such in side by side with the analog signals. Perhaps you can make your serial stream match the SUMP data packets such the decoding features of SUMP can be used.
Welcome to the friendlier side of internet crazy :)

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Mon Dec 23, 2013 2:23 pm

Good idea, I will see if that could be done easily :)

In the meantime, I have written the first meaningful paragraph of the architecture description.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Mon Dec 30, 2013 2:51 am

@ has implemented some code to blink out OBD-II codes with the MIL light

Over the weekend I have made some progress on getting the main trigger/fuel/spark logic closer to 'how it should be' then to 'it's one huge hack but it works'

Also some improvements to the dev console - it now shows the time & relative angle at the mouse cursor position, it's now much easier to see what's going on and when is stuff happening.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Sun Jan 05, 2014 6:18 pm

@ and I have made some progress on SD logging - now I just need to get back home & test it.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Sun Jan 12, 2014 7:30 pm

I've added a new command for fuel testing on a bench - I am not totally happy with the timing precision of the current implementation, but this is a good enough first version.

Need help with development - the number of open tickets is constantly growing, and some of them are totally worth implementing.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Sat Jan 18, 2014 5:16 pm

r1017 - totally innocent change if you ask me - has broken Makefile compilation - everything does compile but the firmware just would not run.

Lovely. Upgrading to the current gcc version 4.8.1 (Sourcery CodeBench Lite 2013.11-24) did not help. Changing -O2 to -O1 did help... You cannot trust anyone.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Thu Feb 06, 2014 1:19 am

#11 is closed - we have logs on SD card
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Sat Feb 08, 2014 3:25 pm

It's a long shot - but we now have integration with simple UART GPS modules. Thank you @!
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

puff
contributor
contributor
Posts: 2733
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Firmware developent status

Post by puff » Sat Feb 08, 2014 3:38 pm

could you explain what it is and how to use it?

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Sat Feb 08, 2014 3:42 pm

puff wrote:could you explain what it is and how to use it?
Not much - we can read data from Neo-6M GPS modules, but we have not yet implemented any features which would use this data. It's an open question how exactly we would use it, I just think that it's cool to have it and it could be useful. First feature will be logging GPS speed together with all the information we are currently logging.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

puff
contributor
contributor
Posts: 2733
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: Firmware developent status

Post by puff » Sat Feb 08, 2014 4:42 pm

like tracking speed dynamics vs throttle position/engine load? if it suports nmea, i have a module to use.

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Thu Feb 20, 2014 1:09 am

Usability improvement: java console now shows it's own build date and firmware build date in the window title

Image
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Mon Mar 03, 2014 2:45 am

As it usually happens I was planing to get this done in 2 hours and I have spend 12 hours and I am not totally finished, but...

We now have rusefi_simulator.exe
It does not do much yet, but tomorrow you would be able to at least connect to it with the devcon.

See also have http://rusefi.com/wiki/index.php?title= ... _assurance
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Tue Mar 04, 2014 4:36 am

http://rusefi.com/wiki/index.php?title= ... _simulator

Needless to say this would require a fresh version of the devconsole.

Unfortunately this does not go smooth - sending command to the simulator is unstable, I have reported an issue to ChibiOS. I suspect something is wrong with their win32 port :(
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Tue Mar 04, 2014 9:33 pm

Things are looking up for the simulator - Chibi has found the issue https://sourceforge.net/p/chibios/bugs/468/ - we will have reliable communication with windows version of the firmware. Also I have learned that linux version of the simulator would be also possible :)
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Thu Mar 06, 2014 3:55 am

C++ is real now - I've just got some C++ code mixed into our C code, and it works! I am not planning to do anything crazy, just want objects instead of structures and methods to make the code more readable.

Still need to merge this prototype into the primary development branch, that's probably tomorrow.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
kb1gtt
contributor
contributor
Posts: 3469
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA
Contact:

Re: Firmware developent status

Post by kb1gtt » Thu Mar 06, 2014 10:58 am

I understand that those that make it to C# / mono often like C# /mono for a variety of reasons, mostly it takes care of lots of work the developer typically needs to keep track of. Is C# /mono physically an option for this project? If so would it be worth while to consider for this project?
Welcome to the friendlier side of internet crazy :)

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Thu Mar 06, 2014 12:34 pm

kb1gtt wrote:Is C# /mono physically an option for this project?
No, at this point C# and Java are out of the question - both these languages have the concept of dynamic memory allocation and Garbage_collection and this would kill precise timing
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Wed Mar 19, 2014 2:07 am

Made some good progress on http://rusefi.com/wiki/index.php?title= ... _simulator

I know this might looks weird - why the heck would I need a simulator? That's for my piece of mind: a piece of special software is firing this simulator every time I commit code into SVN, and if simulator reactions have changed unexpectedly I am getting an email alert. This way I can fix bugs right when they appear and not three weeks later.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Thu Mar 20, 2014 3:53 am

The simulator proves to be really useful - made some good progress with the firmware today, using simulator as a quick way to test the changes without the hassle of flashing/connecting the real controller.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
kb1gtt
contributor
contributor
Posts: 3469
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA
Contact:

Re: Firmware developent status

Post by kb1gtt » Thu Mar 20, 2014 8:48 am

Another cool feature of the soft simulator is that a developer doesn't need anything more than a PC to developer the firmware. It's a very cool option.
Welcome to the friendlier side of internet crazy :)

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Fri Mar 21, 2014 1:27 pm

Fixed two ignition bugs in the last 24 hours - one while playing with the real car, another while playing with the simulator.
Making progress on output events scheduling - getting closer to eliminating manual injection/ignition configuration coding.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Sun Mar 23, 2014 3:03 pm

Image
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Wed Mar 26, 2014 6:12 pm

Finally made scheduling code universal - events are now scheduled based on firing order and fuel injection strategy. Now it's time to document it :)
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Sat Apr 05, 2014 12:08 am

void prepareTimingMap(void) {
for (int k = 0; k < FUEL_LOAD_COUNT; k++)
timing_ptrs[k] = engineConfiguration->fuelTable[k];
initialized = TRUE;
}
Someone better start reading code :( rev. 2546
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Mon Apr 14, 2014 11:03 pm

Now with some engines running we know rusEfi is kind of functional. Now I want to focus on improving output scheduling precision and performance, so that we can actually rev these engines safely.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Thu Apr 17, 2014 9:23 pm

@ has fixed the LED character screen driver, no more random symbols! rev. 2745

I am working on a better event scheduler.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Tue Apr 22, 2014 11:57 am

russian wrote:I am working on a better event scheduler.
Getting closer...
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
russian
Site Admin
Posts: 9683
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: Firmware developent status

Post by russian » Wed Apr 23, 2014 3:42 am

The hard part is ready - events are now scheduled by SingleTimerExecutor.cpp, it's a 32bit 1MHz timer - so, microsecond scheduling.

Now need to migrate to microsecond time measurements, that's relatively easy.
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

Post Reply