×

Sale ends todayGet 30% off any course (excluding packages)

Ends in --- --- ---

M1 Build Software Usage

MoTeC M1 Software Tutorial

Forum Posts

Courses

Blog

Tech Articles

Discussion and questions related to the course MoTeC M1 Software Tutorial

= Resolved threads

Author
1455 Views

Hello,

I am just getting into M1 Build, I downloaded the software, and I am trying to work with the "Example" file and I cant figure out how to open the Code Editor window... How do we view the raw code to edit it directly...

I am in the Developer Manual and it is not stated in there...

Thanks Kindly

Start in the Objects tab. Turn down the various groups, and sub-groups in the area you are interested in. The only objects that have code in them are Functions and Methods (and Scheduled Functions and Scheduled Methods). Double-clicking one of those objects will open the code editor.

I looked at the "Build Example" project I have, and the only function that has content and is editable is Sample.Update, this just turns on the Fuel Pump Relay when the engine is turning. All other functionality is provided by modules that you don't get to edit / view -- other than the object configuration.

Thank You, Sir,

Do you know of any M1 Build Training? specifically?

MoTeC USA has a 1-day course that I took as a dealer. You could probably sit in on that if they still do it.

You can certainly get plenty of free support on the MoTeC support forum ( https://forum.motec.com.au/ ). And you might want to at least search there for old threads that might be helpful.

What is your level of experience (both tuning, and software development)? Are there specific things you want to do with M1 Build?

That sounds like a good option. I will try and find out if I can join a class or not.

I am an Electrical Engineer by trade. And though I have spent a lot of my life on racing teams building racing cars and trucks, that has mostly been a side, or second, job.

I am also a retired Communications Engineer for the Royal Canadian Navy

All that said, my tuning experience is limited, trumped by my carburated experience, and my software experience is based on Naval Manual Access Command and my current job where I use mostly Python programming to develop integrated systems for smart buildings, specializing in Multi-Dwelling Units and Hotels.

I want to take my tuning to a whole new level to better commit to the motorsports industry.

I want to be able to maximize my integration within the system and provide as much intuitive automation as possible in my software/firmware design/build

I have always struggled with forward-facing User Interfaces as they tend to be well-built for the mass public, and I understand why, but I just don't fit into the “mass public” category and I find them very limiting.

If integration is your goal, then I would focus on CAN communications in the M1. Since you are looking for sample code, I will post up some sample projects that show a Dynapack integration object, and support for an AutosportLabs ShiftX2 module I did as part of my partner packages. This should give you something to look at that is useful. I will add that to this thread when i get a chance.

Next you should get the tech note found in this thread on the MoTeC Support Forum:

https://forum.motec.com.au/viewtopic.php?f=67&t=5288&sid=ff13b854100bec800a0f28dcafef8515

It has details on using the DBC import facility in Build 1.4.2 (whatever the latest is). This is a much different way of dealing with CAN I/O, but if you have a DBC file then it can be a time saver. Still can be fiddly with getting units correct, but is a real time saver if you have a lot of channels to deal with.

Next, ask good questions on the MoTeC Support Forum. When you've really tried, but can't understand from the documentation how something works, we have been getting great detailed responses from MoTeC's engineering/support staff. This stuff is gold.

Here is a sample project that does CAN I/O with a Dynapack Dyno as well as supports the AutosportLabs ShiftX2 (emulates a MoTeC SLM so you can use Dash Manager to configure it). This was saved in the M1 Build 1.4.2 format so you will need to use that version to open it.

Attached Files

I just found this seminar notes on M1 Build Training. This sounds like what you are looking for:

https://www.motec.com.au/hessian/uploads/2015_DTC_M1_Build_9dba47008e.pdf

as a m142 dev ecu owner, and not a Dealer myself. M1 Build is the most masochistic development environment i've used for programming. Python has spoiled me, C you can reference all your code from or at least hopefully.

M1 Build uses modules which work similar to DLL's, but have 0 documentation on their scope of operation. Good luck and godspeed.

If CAN Integration is your ultimate goal, i have a much better solution using an external box I built and am bringing to market very soon that's written in C.

No smoke and mirrors, 3 channels of CAN, and a framework i wrote that is simplistic enough that chatgpt could write most of the code out :)

Hey everyone, Thanks for the help

I have been working through the program and trying to learn it... however, I have made a mistake, I don't know where

I have the Fuel Class Module I added to the project, and with that I added Port Injectors and other fuel parts as objects...

Later, I have added some sensors etc... I have tried writing in the function code... and I notice, that all the "Fuel Class" objects have a warning ! mark beside them and the log shows "MoTeC Fuel.Port Injector [etc.] not known for object Port Injector 1 [etc.] (Under Root)"

I also can no longer see the Fuel Class in the Class List, though it is still added in the Modules List...

Any Help for what I have done, so I may undo it...

Attached Files

Check that the module "MoTeC Fuel" is loading when you open your project. What version of MoTeC Fuel module are you using? Try Version 1.16, Build 011 (I have that in sample projects that are working).

There is a symbiotic relationship between the Base Project, SDK, System Files, Enumerations (Data Types) and Modules with Build, and updating one Module may also require the upgrading of other components in the Project to maintain compatibility.

The way that functions are laid out in the Project will also have an effect on their operation and if the Project will build. If you click on the Warnings that have been generated, they will give further information on the reason for the warning being issued.

This is what the Fuel section of a base Project looks like.

""

We usually reply within 12hrs (often sooner)

Need Help?

Need help choosing a course?

Experiencing website difficulties?

Or need to contact us for any other reason?