MS2 development/coding for dummies

This is a forum for discussing the development and testing of alpha MS2/Extra code. Documentation
(Runs on MS2 and Microsquirt)

Moderators: jsmcortina, muythaibxr

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

Re: MS2 development/coding for dummies

Post by jsmcortina »

Your gcc and tools package appears to be in /usr/bin (as far as Cygwin is concerned) not C:/usr/bin

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".
aa2004ro
MS/Extra Newbie
Posts: 7
Joined: Sun Sep 01, 2019 11:19 am

Re: MS2 development/coding for dummies

Post by aa2004ro »

Hi guys,

I'm trying to re"make" a 3.4.2 release and i get this

[...]
7468347 [main] m68hc11-elf-gcc 597 dofork: child -1 - forked process 11916 died unexpectedly, retry 0, exit code 0xC0000142, errno 11
m68hc11-elf-gcc: fork: Resource temporarily unavailable
make[1]: *** [Makefile:158: ms2_extra_main.o] Error 1
make[1]: Leaving directory '/cygdrive/c/usr/ms2extra-release-3.4.2/ms2extra'
make: *** [Makefile:56: megasquirt] Error 2


I tried following the installation steps multiple times, thought that I am crazy. What am I missing?

Thanks!
econ
Helpful MS/Extra'er
Posts: 48
Joined: Wed Feb 20, 2008 11:24 am
Location: Finland, Oulu

Re: MS2 development/coding for dummies

Post by econ »

I'm trying to compile ms2Extra 3.4.2 code and get following errors and warnings when created .ini file is opened in TunerStudio.
Is there something obvious I'm doing wrong or how can start to find the problem?

Code: Select all

20 Errors:
Error: Error: Variable 'mat' used in expression, but not defined as OutputChannel or Setting Parameter in MS2E_342_ModdetTest1, Problem at:
[mainController.ini]:[Line:5439]:    pwmidle_cl_initialvalue_matorclt_follower = { pwmidle_cl_opts_initval_clt ? coolant : mat }, "deg"

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4298]:       xBins       = tempTable, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4307]:       xBins       = tempTable, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4316]:       xBins       = tempTable, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4325]:       xBins       = temp_table_p5, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4334]:       xBins       = temp_table_p5, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4343]:       xBins       = temp_table_p5, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4352]:       xBins       = temp_table_p5, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4366]:       xBins       = matTemps, airtemp

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4384]:       xBins       = matCorrTemps2, airtemp

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4393]:       xBins       = matCorrTemps, mat

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4464]:       xBins       = tempTable, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4497]:       xBins	  = pwmidle_clt_temps, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4505]:       xBins       = RevLimLookup, coolant 

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4514]:       xBins       = pwmidle_crank_clt_temps, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[mainController.ini]:[Line:4523]:       xBins       = pwmidle_crank_clt_temps, coolant

Error: Error: DataLog entry references non existent OutputChannel, ignored., Problem at:
[mainController.ini]:[Line:5533]:    entry = mat,             "MAT",         float,  "%.1f"

Error: Error: DataLog entry references non existent OutputChannel, ignored., Problem at:
[mainController.ini]:[Line:5534]:    entry = coolant,         "CLT",         float,  "%.1f"

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[ms2WueAnalyzeMaps.ecu]:[Line:36]:           xBins       = tempTable, coolant

Error: Error: CurveGraph xBin not a valid Constant., Problem at:
[ms2WueAnalyzeMaps.ecu]:[Line:49]:           xBins       = tempTable, coolant


21 Warnings:
Warning: Table: pwmidle_cl_initialvalues_dty, Assigned y Bin not found: pwmidle_cl_initialvalue_matorclt, Problem at:
[mainController.ini]:[Line:4797]:       yBins = pwmidle_cl_initialvalue_matorclt, pwmidle_cl_initialvalue_matorclt_follower

Warning: Table: pwmidle_cl_initialvalues_stps, Assigned y Bin not found: pwmidle_cl_initialvalue_matorclt, Problem at:
[mainController.ini]:[Line:4805]:       yBins = pwmidle_cl_initialvalue_matorclt, pwmidle_cl_initialvalue_matorclt_follower

Warning: [UserDefined] field assigned to invalid Constant 'N2OClt'., Problem at:
[mainController.ini]:[Line:2773]:       field =   "And Coolant Temp Above",            N2OClt,        { N2Oopt_2 }

Warning: [UserDefined] field assigned to invalid Constant 'fc_clt'., Problem at:
[mainController.ini]:[Line:3285]:       field = "And CLT Higher Than", fc_clt,  { OvrRunC }

Warning: [UserDefined] field assigned to invalid Constant 'tempUnits'., Problem at:
[mainController.ini]:[Line:3359]:     field = "MegaView Temp. Units", tempUnits

Warning: [UserDefined] field assigned to invalid Constant 'egoTemp'., Problem at:
[mainController.ini]:[Line:3523]:       field = "Active Above CLT", egoTemp,      { egoType >  0 }

Warning: [UserDefined] field assigned to invalid Constant 'idleadvance_clt'., Problem at:
[mainController.ini]:[Line:3743]:       field = "And CLT Is Above:", idleadvance_clt, { idleadvance_on && !idleadvance_cl_cond}

Warning: [UserDefined] field assigned to invalid Constant 'fastIdleT'., Problem at:
[mainController.ini]:[Line:3789]:           field = "Fast Idle Temperature",         fastIdleT,    { IdleCtl == 1 }

Warning: [UserDefined] field assigned to invalid Constant 'IdleHyst'., Problem at:
[mainController.ini]:[Line:3790]:           field = "Hysteresis",                    IdleHyst,     { IdleCtl == 1 }

Warning: [UserDefined] field assigned to invalid Constant 'IdleHyst'., Problem at:
[mainController.ini]:[Line:3800]:       field = "Hysteresis",                    IdleHyst,     { (IdleCtl == 3) && (IdleCtl_alg == 0) }

Warning: Unrecognized DataLog entry., Problem at:
[mainController.ini]:[Line:5638]: Binääritiedosto ms2extra.ini täsmää hakuun

Warning: Attempt to add undefined Gauge to Front Page., Problem at:
[mainController.ini]:[Line:5022]:    gauge4 = cltGauge

Warning: No Constant or Command Button found with name clt0, Problem at:
[mainController.ini]:[Line:1587]:     clt0 = ""

Warning: No Constant or Command Button found with name mat0, Problem at:
[mainController.ini]:[Line:1589]:     mat0 = ""

Warning: No Constant or Command Button found with name IdleHyst, Problem at:
[mainController.ini]:[Line:1616]:     IdleHyst    = "Amount the coolant temperature must move before idle position is changed."

Warning: No Constant or Command Button found with name fastIdleT, Problem at:
[mainController.ini]:[Line:1623]:     fastIdleT = "Open the idle valve below this temperature for fast-idle."

Warning: No Constant or Command Button found with name tempUnits, Problem at:
[mainController.ini]:[Line:1655]:       tempUnits = "Selects the temperature units displayed on the optional MegaView."

Warning: No Constant or Command Button found with name fc_clt, Problem at:
[mainController.ini]:[Line:1672]:     fc_clt = "Set this to prevent over-run operation on a cold engine."

Warning: No Constant or Command Button found with name egoTemp, Problem at:
[mainController.ini]:[Line:1731]:     egoTemp = "Only correct above this temperature."

Warning: No Constant or Command Button found with name idleadvance_clt, Problem at:
[mainController.ini]:[Line:1875]:     idleadvance_clt = "Only activate above this coolant temperature. (Typically idle-advance does not work too well during warmup.)"

Warning: No Constant or Command Button found with name N2OClt, Problem at:
[mainController.ini]:[Line:1934]:     N2OClt = "The minimum coolant temperature to enable nitrous."
- Ford Taunus Duratec 2.5 Turbo MS2Extra
- Suzuki GSX 750 ER Turbo Microsquirt Module based Sequential
- Suzuki GSX R750W 1993 Microsquirt 3
- MB W124 200E MS1Extra
jsmcortina
Site Admin
Posts: 39622
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: MS2 development/coding for dummies

Post by jsmcortina »

It is probably the issue where "grep" has been changed to not support binary files correctly.
The updated Makefile is included with the 3.4.3 code, use that instead of 3.4.2

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".
econ
Helpful MS/Extra'er
Posts: 48
Joined: Wed Feb 20, 2008 11:24 am
Location: Finland, Oulu

Re: MS2 development/coding for dummies

Post by econ »

That worked.
By the way, I had to copy these files to C:\usr\ms2extra-release-3.4.2\ms2extra\utils or Cygwin stopped with error:

ms2loader_linux32bit
ms2loader_linux64bit
ms2loader_macos
ms2loader_win32.exe

Thanks,
Erkki
- Ford Taunus Duratec 2.5 Turbo MS2Extra
- Suzuki GSX 750 ER Turbo Microsquirt Module based Sequential
- Suzuki GSX R750W 1993 Microsquirt 3
- MB W124 200E MS1Extra
econ
Helpful MS/Extra'er
Posts: 48
Joined: Wed Feb 20, 2008 11:24 am
Location: Finland, Oulu

Re: MS2 development/coding for dummies

Post by econ »

Are user_conf0 and user_conf1 both stored in flash10.user_conf?

How to program MS2 to check values of these?

Code: Select all

if (flash10.user0_conf == "On" && flash10.user_conf1 == "Mode 1") {
...
}
.ini

Code: Select all

 user_value1      = scalar, U16, 736, "",   1, 0, 0, 65535, 0
 user_value2      = scalar, U16, 738, "",   1, 0, 0, 65535, 0
 user_conf0       = bits, U08, 740, [0:0], "Off", "On"
 user_conf1       = bits, U08, 740, [1:2], "Mode 0", "Mode 1", "Mode 2", "Mode 3"
ms2_extra.h

Code: Select all

/* user defined */
    unsigned int user_value1;
    unsigned int user_value2;
    unsigned char user_conf;
/* end user defined */
- Ford Taunus Duratec 2.5 Turbo MS2Extra
- Suzuki GSX 750 ER Turbo Microsquirt Module based Sequential
- Suzuki GSX R750W 1993 Microsquirt 3
- MB W124 200E MS1Extra
econ
Helpful MS/Extra'er
Posts: 48
Joined: Wed Feb 20, 2008 11:24 am
Location: Finland, Oulu

Re: MS2 development/coding for dummies

Post by econ »

Ok I think I got it.
bit 0 of flash10.user_conf is for "on"/"off" and bits 1:2 is for mode 1 to 4.
- Ford Taunus Duratec 2.5 Turbo MS2Extra
- Suzuki GSX 750 ER Turbo Microsquirt Module based Sequential
- Suzuki GSX R750W 1993 Microsquirt 3
- MB W124 200E MS1Extra
ol boy
Super MS/Extra'er
Posts: 1532
Joined: Mon Sep 10, 2007 3:06 am
Location: Tucson, Az

Re: MS2 development/coding for dummies

Post by ol boy »

Code: Select all

 if ((flash10.user0_conf & 0x01) && ((flash10.user_conf1  & 0x06) == 2)){
do thing here...
}

The ideas is that the bits are zero, 1, 2,3... so 'on' would place a 1 into bit 0 in location 740, mode1 would be bit 1 and 2 anded with 0x06 then compared to 2. This should work.
306 SBFord, Torquer II EFI intake, 60 lbs injectors, 8 LS2 coils, VS Racing 7668 turbo, 4R70W, MS3x fw1.4 w/built in trans controller.
tryingbe
Experienced MS/Extra'er
Posts: 197
Joined: Tue Sep 05, 2017 3:19 pm

Re: MS2 development/coding for dummies

Post by tryingbe »

After spending hours trying to get Cygwin working in Windows 10 64 bit, I gave up.

I installed Virtualbox (free) and get the Mint Linux 64 bit iso (free). Created a new virtual machine, setup the virtual harddrive, mounted the ISO as the CD rom, then installed the Mint Linux and left everything as default.

I followed the instruction found here.

viewtopic.php?f=91&t=43601&p=442705&hil ... 3A#p442745

The above instruction is pretty good, with two exceptions:
1. You have to use sudo when you're in the terminal try to use the "make" command. ie. "sudo make release" instead of "make release"
2. When you try copy the extracted file to home or root directory, you have to right click on Namo (windows explorer equivalent) and select "open as root" to get a new Namo opened so you will have permission to copy and paste files.

I can compile without any errors!

Hope this helps someone.
1985 Dodge Omni GLH Turbo MicroSquirted 367whp http://www.msextra.com/forums/viewtopic ... 04&t=67324
jsmcortina
Site Admin
Posts: 39622
Joined: Mon May 03, 2004 1:34 am
Location: Birmingham, UK
Contact:

Re: MS2 development/coding for dummies

Post by jsmcortina »

You shouldn't need to run as root. Check the permissions in your build directory.

I did have a look at rebuilding the tools for Mingw64 for Windows, but it got quite involved and I didn't finish it.

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".
nlabrad
MS/Extra Newbie
Posts: 25
Joined: Thu Jul 10, 2014 4:39 pm

Re: MS2 development/coding for dummies

Post by nlabrad »

Hello.
I've downloaded the latest MS2 firmware and upon unzipping I don't see a msextra folder with the source, has this changed over the years? Where can I find the source today?

Thanks!
tryingbe
Experienced MS/Extra'er
Posts: 197
Joined: Tue Sep 05, 2017 3:19 pm

Re: MS2 development/coding for dummies

Post by tryingbe »

nlabrad wrote:Hello.
I've downloaded the latest MS2 firmware and upon unzipping I don't see a msextra folder with the source, has this changed over the years? Where can I find the source today?

Thanks!
I've been asking that same question back in Nov 2020, it hasn't been release yet. viewtopic.php?f=91&t=74140
1985 Dodge Omni GLH Turbo MicroSquirted 367whp http://www.msextra.com/forums/viewtopic ... 04&t=67324
GDGOOK
MS/Extra Newbie
Posts: 1
Joined: Sat May 08, 2021 5:11 pm

Re: MS2 development/coding for dummies

Post by GDGOOK »

Perhaps it is a very very simple question... I tried to find the link to access the source (C) code for the lastest version of MSEXTRA...
Can someone put a link to the directory I have heard of (but not found) where the files are ?
Thanks !
Jay2007
MS/Extra Newbie
Posts: 10
Joined: Wed Dec 30, 2015 1:48 pm

Re: MS2 development/coding for dummies

Post by Jay2007 »

Hey,
I tried to compile the code under Win64 and just wanted to give some feedback on my fails. In the end I chose virtualbox and mint 32bit, which worked as out of the box.
Win10 64bit with CygWin64: When trying to run "make ms2" or gcc alone "m68hc11-elf-gcc" I get a windows runtime error. Google told me that it is caused by missing 32bit libraries. compatibility mode and admin for gcc and make mode no change. So I got to the point that the 32bit gcc is not running on 64bit win10/cygwin
Win10 64bit Cygwin32: when trying to run "make ms2" of gcc alone "m68hc11-elf-gcc" I get "Win32 Error 487" with some statements about "forked process" and "allocation failed" if you google it with cygwin you end up at cygwin-Website telling you, that cygwin32 is deprecatet and will propably run into memory allocation errors.

I am not able to compile ms2 code on Win64 with the current tools. Maybe a gcc version for win64 would work, but was not smart enough to compile gcc...

-> virtualbox with mint 32bit

Now I am only missing the current source code :)
tryingbe
Experienced MS/Extra'er
Posts: 197
Joined: Tue Sep 05, 2017 3:19 pm

Re: MS2 development/coding for dummies

Post by tryingbe »

Matt Cramer wrote:It's unlikely this (source code for 3.4.4) will be released due to problems with too many counterfeit MS2s out there now.
viewtopic.php?f=91&t=74140#p571211

See above.
GDGOOK wrote:Perhaps it is a very very simple question... I tried to find the link to access the source (C) code for the lastest version of MSEXTRA...
Can someone put a link to the directory I have heard of (but not found) where the files are ?
Thanks !
Jay2007 wrote:
Now I am only missing the current source code :)
1985 Dodge Omni GLH Turbo MicroSquirted 367whp http://www.msextra.com/forums/viewtopic ... 04&t=67324
ol boy
Super MS/Extra'er
Posts: 1532
Joined: Mon Sep 10, 2007 3:06 am
Location: Tucson, Az

Re: MS2 development/coding for dummies

Post by ol boy »

Made a Win11 box and tried to install Cygwin_X86_64 and it looked like it was working.. it would compile... maybe.. it made a new ms3.ini file and a new .s19 with todays dates on it. But when I opened notepad++ and made an edit and saved then tried to run the "make ms3" it failed on the .O file corresponding to the .c file I edited. Seems like Cygwin did not want to delete the old .O file and make a new one... idk..

It also looks like there is no longer support for a 32 bit Cygwin install anymore.. I tried to use an old installer and I was unable to DL the x86 files from the many supported host.

Is there an alternative way to compile MS3 code anymore with newer PC's?

Ryan
306 SBFord, Torquer II EFI intake, 60 lbs injectors, 8 LS2 coils, VS Racing 7668 turbo, 4R70W, MS3x fw1.4 w/built in trans controller.
brunob45
MS/Extra Newbie
Posts: 1
Joined: Mon Oct 09, 2017 4:58 pm

Re: MS2 development/coding for dummies

Post by brunob45 »

ol boy wrote: Sun Jan 15, 2023 5:15 pm Made a Win11 box and tried to install Cygwin_X86_64 and it looked like it was working.. it would compile... maybe.. it made a new ms3.ini file and a new .s19 with todays dates on it. But when I opened notepad++ and made an edit and saved then tried to run the "make ms3" it failed on the .O file corresponding to the .c file I edited. Seems like Cygwin did not want to delete the old .O file and make a new one... idk..

It also looks like there is no longer support for a 32 bit Cygwin install anymore.. I tried to use an old installer and I was unable to DL the x86 files from the many supported host.

Is there an alternative way to compile MS3 code anymore with newer PC's?

Ryan
Hi Ryan,

My first post on this forum!

I know it's been a year since your post and the development of MS2/Extra is pretty much stopped, but I wanted to document my solution somewhere.
I'm on Windows 11 and figured it would be easier to use Docker instead of Cygwin. https://docs.docker.com/desktop/install ... s-install/
I attached the Dockerfile I used to create the image.

I successfully compiled the s19 multiple times with Docker.
To validate the process, I compared the s19 I compiled with the official s19 and they were a 100% match.

On another note, is there an official statement about the development of MS2/Extra?
Attachments
Dockerfile.txt
(660 Bytes) Downloaded 510 times
1990 Mazda Miata
ol boy
Super MS/Extra'er
Posts: 1532
Joined: Mon Sep 10, 2007 3:06 am
Location: Tucson, Az

Re: MS2 development/coding for dummies

Post by ol boy »

I'm compiling for MS3 and MS2, the same process will work for both code sets. I got the setup working on a 32 bit version of cygwin.. Took me a while to find an old 32 bit download.
306 SBFord, Torquer II EFI intake, 60 lbs injectors, 8 LS2 coils, VS Racing 7668 turbo, 4R70W, MS3x fw1.4 w/built in trans controller.
Post Reply