MS3 1.2.3 source code released

Testing and development of Megasquirt 3

Moderators: jsmcortina, muythaibxr

jsmcortina
Site Admin
Posts: 39619
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

MS3 1.2.3 source code released

Post by jsmcortina »

To announce the release of source code for MS3 1.2.3

Be sure to read and respect the included README and LICENSE files.

http://www.msextra.com/doc/ms3/files/so ... -1.2.3.zip

As with 1.1, for the 1.2 code you'll need the 2012 build tools available from http://www.msextra.com/tools

James

EDIT: If you don't know what source is... this file isn't for you!
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
1uz_nissan
Experienced MS/Extra'er
Posts: 186
Joined: Sat Aug 25, 2012 4:57 pm

Re: MS3 1.2.3 source code released

Post by 1uz_nissan »

Not sure the reason behind it, but with 1.2.3 beta, I get the finished files to flash. When I get 1.2.3 release, it's the source files.
93white3400z
Master MS/Extra'er
Posts: 685
Joined: Mon Aug 25, 2008 11:37 pm
Location: Montreal, Quebec

Re: MS3 1.2.3 source code released

Post by 93white3400z »

1993 Chevrolet Cavalier Z24
3400 Turbocharged Inter-cooled
MS3 v3.57+MS3X
piledriver
Super MS/Extra'er
Posts: 1681
Joined: Tue Oct 27, 2009 6:24 am
Location: Van Alstyne, Texas

Re: MS3 1.2.3 source code released

Post by piledriver »

Thank you shout out to the devs for posting the source.
Always doing things the hard way, MS2 sequential w/ v1.01 mainboard, LS2 coils. 80 mile/day commuter status.
thokes82
Helpful MS/Extra'er
Posts: 102
Joined: Mon Apr 27, 2009 5:02 am
Location: Munster, Germany
Contact:

Re: MS3 1.2.3 source code released

Post by thokes82 »

Hi there,

I have a question: Is it violating any license when I extend the Megaview output {a;0;6} and use some of the spare channels? My Problem is, that I own a Race Technology Dash 2 display and its Megasquirt adapter can only read serial Megaview channels (112byte). This is the Display: http://www.race-technology.com/dash2_8_940.html

This is my approach for serial.c mod:

Code: Select all

               if (compat < 2) {
                /* MS3 different from now */
                if (outpc.syncreason) {
                    outpc.syncreason = 0;       // send the sync loss reason code once then reset it
                }
            } else {
                x = 0xf003 + 72;
                GWR(outpc.EAEfcor1);
                GWR(outpc.egoV1);
                GWR(outpc.egoV2);
                g_write_generic(0, &x, 2); /* amc Updates */
                g_write_generic(0, &x, 2); /* kpaix */
                GWR(outpc.EAEfcor2);
                g_write_generic(outpc.sensors[0], &x, 2); /* Sensor 1 -> spare1 - Oil Pressure Sensor*/
                g_write_generic(outpc.sensors[1], &x, 2); /* Sensor 2 -> spare2 - Cylinder Head Temp*/
                g_write_generic(0, &x, 2); /* trigfix */
                g_write_generic(outpc.sensors[2], &x, 2); /* Sensor 3 -> spare4 - Oil Temp*/
                g_write_generic(0, &x, 2); /* spare5 */
                g_write_generic(0, &x, 2); /* spare6 */
                g_write_generic(0, &x, 2); /* spare7 */
                g_write_generic(0, &x, 2); /* spare8 */
                g_write_generic(0, &x, 2); /* spare9 */
                g_write_generic(0, &x, 2); /* spare10 */
                g_write_generic(0, &x, 2); /* tachcount */
                g_write_generic(0, &x, 2); /* ospare/cksum */
                g_write_generic(0, &x, 2); /* deltaT */
                g_write_generic(0, &x, 2); /* deltaT pt.2 */
            }
Please comment on my mod. regards, Thomas
Image
Race car building documentation: www.kessel.tk (nice pics but only german laguage so far...)
jsmcortina
Site Admin
Posts: 39619
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: MS3 1.2.3 source code released

Post by jsmcortina »

The LICENSE specifically allows this.
"You are permitted to modify the source code as you wish for use on your own MS3 card. Re-distribution of modified source or s19 is only allowed if first approved by James Murray and Kenneth Culver."

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
dancrev
Helpful MS/Extra'er
Posts: 48
Joined: Sat Nov 16, 2013 4:21 pm
Location: Los Alamos, NM

Re: MS3 1.2.3 source code released

Post by dancrev »

New here and just wondering... what is the typical schedule for source code to be released? I see the 1.2.4 binary release, but the latest source I can find is 1.2.3.

Thanks!
-Dan
Gerry-Austin
MS/Extra Newbie
Posts: 1
Joined: Sun Jan 05, 2014 6:31 pm

Re: MS3 1.2.3 source code released

Post by Gerry-Austin »

So I can't find the source code for the serial monitor anywhere. Am I missing it, or is all the source code not actually available for the MS3?
Thanks,
Gerry
jsmcortina
Site Admin
Posts: 39619
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: MS3 1.2.3 source code released

Post by jsmcortina »

The source code for the MS3 firmware is available as per this topic.

The source code for the serial monitor is not and will not be available. The monitor comes pre-loaded on MS3 hardware and therefore the source is not needed to customise the firmware on the MS3.

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
vl-alexander
MS/Extra Newbie
Posts: 19
Joined: Sun May 26, 2013 6:19 pm
Location: Vladivostok, Russia

Re: MS3 1.2.3 source code released

Post by vl-alexander »

Hello. i want to add some custom feature to my ms3, only one source version that i find is 1.2.3.
But i cant figure out how to get it work. The problem is WRONG CODE LOADED?
Screenshot.png
Also, i have downloaded compiled 1.2.3 release, upload it to my MS, and got the same error.

How can i fix it, or, maybe find 1.2.4 source? 1.2.4 release works fine without this error.
MS3PNP (diy) powered mazda RX-7 FD 13B-REW. bw S366. 410hp pump gas
Reverant
Super MS/Extra'er
Posts: 1234
Joined: Sat Apr 15, 2006 12:39 am
Location: Athens, Greece

Re: MS3 1.2.3 source code released

Post by Reverant »

http://www.msextra.com/forums/viewtopic ... 25&t=53004

In short, you have a newer MS3 board that doesn't support the 1.2.3 code, you need the code for 1.2.4.
The man behind MS Labs
2005 Audi A3 2.0L TFSI DSG AWD - Extreme MS3
2002 Mazda Miata 1.8 6sp - Enhanced MS3 1.4.0, sequential injection, sequential ignition, big turbo, lots of boost
vl-alexander
MS/Extra Newbie
Posts: 19
Joined: Sun May 26, 2013 6:19 pm
Location: Vladivostok, Russia

Re: MS3 1.2.3 source code released

Post by vl-alexander »

Oh, i see. this problem really happens only with newly bought board..
I take another, older, ms3 from my garage and it was successfully flashed by modified firmware...

Anyway this is bad news, because i want my feature working on new boards too...

Meybe, after i finished, i should share my code, and hope that it will be included in official release?

The goal I'm working on, is rotary oil metering pump support.
Screenshot-omp.png
MS3PNP (diy) powered mazda RX-7 FD 13B-REW. bw S366. 410hp pump gas
jsmcortina
Site Admin
Posts: 39619
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: MS3 1.2.3 source code released

Post by jsmcortina »

I put up a patch for 1.2.3 to 1.2.4 source.

http://www.msextra.com/doc/ms3/files/so ... -patch.zip

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
vl-alexander
MS/Extra Newbie
Posts: 19
Joined: Sun May 26, 2013 6:19 pm
Location: Vladivostok, Russia

Re: MS3 1.2.3 source code released

Post by vl-alexander »

Great, thanks!
MS3PNP (diy) powered mazda RX-7 FD 13B-REW. bw S366. 410hp pump gas
muythaibxr
Site Admin
Posts: 8230
Joined: Thu Oct 14, 2004 12:48 pm

MS3 1.2.3 source code released

Post by muythaibxr »

I already added th beginnings of OMP support with generic PID. I just have to add support for the stepper since our stepper controller can't handle the power requirements if the OMP. I would probably allow that part into the official code... The method I am using is closed loop... It doesn't look like that is what you are doing.
Megasquirt is not for use on pollution controlled vehicles. Any advice I give is for off road use only.
elaw
Super MS/Extra'er
Posts: 2926
Joined: Fri Oct 16, 2009 6:20 am
Location: Wilmington, MA

Re: MS3 1.2.3 source code released

Post by elaw »

Does anyone feel like playing "help the dummy" and tell me what I'm doing wrong trying to mod this code? :? :lol:

I'm fooling around with the boost control code and want to create and use my own global variable.

So I added a declaration for it in ms3_vars.h:

Code: Select all

/* these were locally defined globals in ms3_misc.c */
extern long boost_ctl_last_pv[NUM_BOOST_CHANS][2];
extern long boost_ctl_last_error[NUM_BOOST_CHANS];
extern char boost_PID_enabled[NUM_BOOST_CHANS];
extern int boost_ctl_duty_100[NUM_BOOST_CHANS];
//EL ADDED
extern int boost_Integrator;
//EL ADDED END
And then tried to reference it in ms3_misc.c:

Code: Select all

	//EL (existing code) if we're just entering PID, init a few things
    if (!boost_PID_enabled[channel]) {
        flags |= PID_INIT;
        boost_PID_enabled[channel] = 1;
        boost_ctl_duty_100[channel] = boost_ctl_duty[channel] * 100;
//EL ADDED
        boost_Integrator = 0;
//EL ADDED END
    }
Before making the change in ms3_misc.c the code would compile - afterward I get an error in ms3_misc.c "undefined reference to 'boost_Integrator'". I've double-checked spelling and capitalization, made sure all files are saved, etc. but no luck.

There's a note in ms3_vars.h that says to "search for 'user defined' in ms3_main_decls.h for more notes" but I can't find anything helpful there - the word "user" doesn't even appear in that file!

What am I doing wrong?
Eric Law
1990 Audi 80 quattro with AAN turbo engine: happily running on MS3+MS3X
2012 Audi A4 quattro, desperately in need of tweaking

Be alert! America needs more lerts.
bcrx7
Helpful MS/Extra'er
Posts: 110
Joined: Sun May 02, 2004 5:37 pm
Location: Vancouver, BC

Re: MS3 1.2.3 source code released

Post by bcrx7 »

Might want to read up on what extern does and what is required: http://www.geeksforgeeks.org/understand ... word-in-c/

Cheers,
O.
elaw wrote:Does anyone feel like playing "help the dummy" and tell me what I'm doing wrong trying to mod this code? :? :lol:

I'm fooling around with the boost control code and want to create and use my own global variable.

So I added a declaration for it in ms3_vars.h:

Code: Select all

/* these were locally defined globals in ms3_misc.c */
extern long boost_ctl_last_pv[NUM_BOOST_CHANS][2];
extern long boost_ctl_last_error[NUM_BOOST_CHANS];
extern char boost_PID_enabled[NUM_BOOST_CHANS];
extern int boost_ctl_duty_100[NUM_BOOST_CHANS];
//EL ADDED
extern int boost_Integrator;
//EL ADDED END
And then tried to reference it in ms3_misc.c:

Code: Select all

	//EL (existing code) if we're just entering PID, init a few things
    if (!boost_PID_enabled[channel]) {
        flags |= PID_INIT;
        boost_PID_enabled[channel] = 1;
        boost_ctl_duty_100[channel] = boost_ctl_duty[channel] * 100;
//EL ADDED
        boost_Integrator = 0;
//EL ADDED END
    }
Before making the change in ms3_misc.c the code would compile - afterward I get an error in ms3_misc.c "undefined reference to 'boost_Integrator'". I've double-checked spelling and capitalization, made sure all files are saved, etc. but no luck.

There's a note in ms3_vars.h that says to "search for 'user defined' in ms3_main_decls.h for more notes" but I can't find anything helpful there - the word "user" doesn't even appear in that file!

What am I doing wrong?
1984 Mazda RX-7 GTM Class (BP Engine + BW-EFR 8374 Turbo Full COP/Sequential on MS3+MS3x)
1986 Toyota 4Runner (22RE running on MS2-Extra 3.2.1)
elaw
Super MS/Extra'er
Posts: 2926
Joined: Fri Oct 16, 2009 6:20 am
Location: Wilmington, MA

Re: MS3 1.2.3 source code released

Post by elaw »

Thanks! That helped me figure it out.

I thought it might be something like that, but I'd done a "find in files" in the source folder for one of the existing variables (figuring I'd use it as an example) but my search didn't find it anywhere else.

Well apparently I did something wrong because as soon as I added a declaration for my variable to ms3_main_vars.h, it compiled!

One thing that threw me off a little was a line at the top of ms3_vars.h that states "It is parsed to auto-generated ms3_main_vars.h" - that made me think that ms3_main_vars.h was somehow autogenerated and I shouldn't mess with it. But apparently that's not the case.
Eric Law
1990 Audi 80 quattro with AAN turbo engine: happily running on MS3+MS3X
2012 Audi A4 quattro, desperately in need of tweaking

Be alert! America needs more lerts.
jsmcortina
Site Admin
Posts: 39619
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: MS3 1.2.3 source code released

Post by jsmcortina »

make clean
make

James
I can repair or upgrade Megasquirts in UK. http://www.jamesmurrayengineering.co.uk

My Success story: http://www.msextra.com/forums/viewtopic ... 04&t=34277
MSEXTRA documentation at: http://www.msextra.com/doc/index.html
New users, please read the "Forum Help Page".
MWPau
Master MS/Extra'er
Posts: 411
Joined: Thu Mar 03, 2011 6:24 pm

Re: MS3 1.2.3 source code released

Post by MWPau »

Any idea when we'll see the 1.3.0 code? If ever?
Toyota Celica GT4/Alltrac with 5S-GTE stroker (2.2L I4 turbo, high CR) on E85 w/FlexFuel.
MS3 + MS3X + KnockBoard + RTC + BT + DIY CAN-IO-Board + DIY CAN Digital Dash.
Post Reply