rusefi / rusefi_documentation

User documentation for rusEFI engine control unit
GNU General Public License v3.0
25 stars 30 forks source link

WIP: Connector Mapping instructions are not clear or out-of-date specifically 'info' section #377

Closed mi-hol closed 1 year ago

mi-hol commented 1 year ago

https://wiki.rusefi.com/Connector-Mapping/ 'info' section mentions

  1. link to a good example is missing - this would set the "gold standard to clone from"
  2. "order" seems optional
  3. 'type' "- a short description of the capabilities of this pin" seems actually a fixed list of codes, but they are not mentioned
  4. "could be requested on demand" is not clear on "how to trigger a generation " misses the command to execute
mi-hol commented 1 year ago

A guide to "find errors" in mapping.yaml would be a great help for newbies

mi-hol commented 1 year ago

4. "how to trigger a generation " misses the command to execute

copied a "compile.sh" from a Hellen-based board and adapted it


#!/bin/bash

cd ..
bash ../common_make.sh hellen/Benelli_Walbro ARCH_STM32F4

but it throws an error because of missing dependencies

Entering common_make.sh with board hellen/Benelli_Walbro and CPU ARCH_STM32F4
../common_make.sh: line 17: make: command not found

tried to find a HowTo explaining setup of development environment but found no specific instructions in https://wiki.rusefi.com/HOWTO-contribute-to-firmware/ the only reference is "Our primary tool-chain is GCC+Eclipse" but details are unknown.

@mck1117 @nmschulte Any hint how to get over this hurdle?

mck1117 commented 1 year ago

linux is the preferred build environment

see setup_linux_environment.sh

mi-hol commented 1 year ago

@mck1117 thanks did run setup_linux_environment.sh now error changed (much later) to:

Compiling pch.h make: arm-none-eabi-g++: No such file or directory make: [rusefi_pch.mk:12: pch/pch.h.gch/firmware] Error 127 make: Waiting for unfinished jobs....

mi-hol commented 1 year ago

linux is the preferred build environment

see setup_linux_environment.sh

added to doc via #378

chuckwagoncomputing commented 1 year ago
  1. There is a link to a good example. image
  2. Quite a few fields are technically optional
  3. They're not a fixed list - the board owner/mapping creator can call them whatever they want.
  4. The generation of pinouts is a Github Actions workflow. This could be made clearer.

I'm not sure why you're talking about compiling in this issue, seems unrelated.

mi-hol commented 1 year ago
  1. There is a link to a good example.

Thanks for pointing this out, I missed it becasue the important part was at the end of sentence. Tried to improve this and other topics via PR https://github.com/rusefi/rusefi_documentation/pull/382

2. Quite a few fields are technically optional

Would you be in a position to add this info?

3. They're not a fixed list

I was referring only to values of "type", if no "fixed list of values" is used here, this would be asking for trouble for the technical validation (aka compilation).Are you really sure?

4. The generation of pinouts is a Github Actions workflow. This could be made clearer.

I'm not sure why you're talking about compiling in this issue, seems unrelated.

I used "compilation" as a synonym, as first stage of any compiler is "syntax check". I`m open to use a better term. What do you suggest?

Please note Github Actions workflow for https://github.com/rusefi/rusefi/pull/4969 seems to have failed but I got no notification. The new directory "Benelli_Walbro" was created but clicking results in an empty page Would you have a hint? image

chuckwagoncomputing commented 1 year ago

2 pin is required for both pinouts and Tunerstudio id, class, and ts_name are required to use the pin in TunerStudio everything else is for end user information, and technically not required.

3 The type field is mostly just for grouping/coloring pins by type within the pinout. Board creators can call their types whatever they like.

If you check the output of the action, here is what is wrong: gen_upload_pinouts.sh: Missing yaml id field in info section of ./firmware/config/boards/Benelli_Walbro/connectors/Benelli_Walbro.yaml Maybe we should run the workflow on PR and fail on error, but not upload?

mi-hol commented 1 year ago

we should run the workflow on PR and fail on error, but not upload

makes perfect sense

chuckwagoncomputing commented 1 year ago

I have opened a new issue for that, #383

I'm working on a PR to fix the todos/issues with your PR #382

chuckwagoncomputing commented 1 year ago

When you merge this, the changes should appear in your PR https://github.com/mi-hol/rusefi_documentation/pull/1

mi-hol commented 1 year ago

if you check the output of the action, here is what is wrong: gen_upload_pinouts.sh: Missing yaml id field in info section of ./firmware/config/boards/Benelli_Walbro/connectors/Benelli_Walbro.yaml

All other yaml seem to have the same error but a pin-out exists for them. Could this be caused by an issue in the script?

image

chuckwagoncomputing commented 1 year ago

Off topic; this issue is completed