Commit Graph

343 Commits

Author SHA1 Message Date
rusefillc b125fa4a0e placing all logs into same folder 2021-10-23 20:18:09 -04:00
rusefillc 41aacc5503 Trigger setup in TS is highly confusing #3401
rabbit hole: integrating enums with TS templating
2021-10-23 20:09:10 -04:00
rusefillc 99fe3335af enum reader progress 2021-10-20 22:01:50 -04:00
rusefillc 3de3dee1fa validate field name duplicates at least sometimes 2021-10-16 23:02:06 -04:00
rusefillc 86db25f94a progress - live doc generator works again! 2021-10-16 21:08:50 -04:00
rusefillc 0dcb899348 Whatever we call it, no matter how we do it - we need live data / remote view into rusEFI actual state #3353
dead code
2021-10-14 14:11:52 -04:00
David Holdeman 127a638502 ConfigDefinition stuff (#2940)
* add check for empty string

* try catching duplicates, while allowing same id on a pin

* js brain

* fixes

* fixes

* comment out

* build

* bump submo

* comment
2021-07-09 22:07:07 -04:00
rusefi 3472002b30 extra state validation is needed 2021-07-09 01:11:20 -04:00
rusefillc fcd1ede72f MRE same pin or not? #2897 2021-07-02 18:22:13 -04:00
rusefillc cc13245488 H64 uses GPIOD_12 twice why does it not fail? #2877 2021-07-02 13:15:48 -04:00
Matthew Kennedy 55d2231ccc new parse: read rusefi.input, write almost-working output ini! (#2851)
* fix offsets inside struct arrays

* style

* fix index writing for arrays of structs

* write TS context comments

* cleanup

* ts writer copies all lines input -> output

* Add _hex and _char definitions

* definition tostring

* replace variables

* wire up firing order replacement

* jar
2021-06-24 16:36:30 -04:00
David Holdeman 34095492d1 Yaml parsing refactor (#2842)
* throw error on unknown class

* build

* refactor, first try

* fix some errors

* fix some errors

* fix some errors

* fix some errors

* fix some errors

* build

* start at one more

* checks, minor refactor

* try toString

* check for null, idk

* try throwing class not found error

* oh duh

* oh duh numba two

* oh duh numba three

* build

* switch to switch_inputs

* switch output to outputs

* try

* build

* break loop when found

* fix maybe

* add missing s

* fix a bug

* move nothingname check

* catch other class

* use PinType
2021-06-21 19:10:25 -04:00
Matthew Kennedy f28c10e87f parse enums (#2832)
* enums and definitions

* bad merge

* txt format

* endBit

* handle 1-size arrays

* strings

* fix auto enum

* hard code 0 and 1

* jar

* jar
2021-06-20 17:35:31 -04:00
Matthew Kennedy b6195fcc55 config gen layout fixes (#2829)
* grammar and libs

* gitignore

* parsing

* allow empty line as root statement

* tolerate #if

* config def changes

* s

* ant build

* workaround

* compiled tool

* grammar for unions

* parse unions

* layout logic

* fix union alignment

* union in config

* enable definition resolve

* testing

* zero init behavior

* bit fields respect custom options

* ts prints arrays correctly

* ts prints structs correctly

* auto round numbers

* cleanup

* bad merge

* bad merge

* jar

* kick
2021-06-18 16:58:04 -04:00
Matthew Kennedy 14e1aeac53 cleanup for easier ini compare (#2830)
* remove dot zero

* don't parse as double

* minor formatting

* Revert "don't parse as double"

This reverts commit f2427927f7df0f5fa27ed66c888009e3a3da8412.

* expect integer "1"

* jar
2021-06-18 15:43:16 -04:00
Matthew Kennedy d3d6c1694a Antlr 2 (#2823)
* grammar and libs

* gitignore

* parsing

* allow empty line as root statement

* tolerate #if

* config def changes

* s

* ant build

* workaround

* compiled tool

* grammar for unions

* parse unions

* layout logic

* fix union alignment

* union in config

* jar

* comment

* jar

* jar

* no prefix on root struct

* stray space

* normalize some enums
2021-06-18 12:31:23 -04:00
Matthew Kennedy 5ae4af23fe parse with antlr (#2747)
* grammar and libs

* gitignore

* parsing

* allow empty line as root statement

* tolerate #if

* config def changes

* s

* ant build

* workaround

* compiled tool

* console should not build config def tool

* ugh the dependency tree is insane

* this should fix hw ci

* console build

* console jenkins script

* test

* Revert "test"

This reverts commit 73f2da50f990bee9b51a1f919e8fcc6b06327d9a.

* throw on parse failure

* jar

* fix #2821

* comment
2021-06-16 17:07:05 -04:00
Matthew Kennedy f6ddc2c17c Config generator jar (#2716)
* fix test

* jar

* kick config

* guard stuff

* nmea

* nmea

* nmea

* c++ is type safe, which is good

* c++ is type safe
2021-05-17 12:32:59 +03:00
rusefillc b9ebb6b9b9 gen_config.sh code duplication #2451
David saw dead code
2021-05-11 22:00:36 -04:00
David Holdeman 9eb4698184 Fix config CI (#2638)
* add yaml to inputFiles

* add jar
2021-05-06 23:12:05 -04:00
rusefillc 84441c1dcb h64 more better error handling 2021-05-01 15:40:27 -04:00
rusefillc c2721985b0 config definition better error handling 2021-05-01 15:12:39 -04:00
rusefillc 5b02073b20 field type into header comment 2021-04-26 17:51:29 -04:00
rusefillc 8ba2658406 is gen_config invoked too often now? #2387 2021-03-12 22:25:03 -05:00
rusefillc dbe084bd22 is gen_config invoked too often now? #2387
unzip is complicated
2021-03-05 21:39:26 -05:00
rusefillc 6dd6f936b6 is gen_config invoked too often now? #2387
how about we do not trust anyone to properly handle EOL CRLF?
2021-03-05 20:35:53 -05:00
rusefillc 99503ccb5c cAsE of rusEFI 2021-03-02 22:14:06 -05:00
rusefi 8ce70479f6 TS does not support zero length arrays? #2366 2021-02-16 17:25:52 -05:00
rusefillc f7ad1ae8b7 code generator: better handing of array size 1 2021-02-08 23:47:48 -05:00
rusefillc 9e878b05d5 spaces into multiplication 2021-02-01 12:11:00 -05:00
Matthew Kennedy f70750ca60 Remove whitespace (#2246)
* don't tab in fields

* jar
2021-01-27 15:44:52 -05:00
Matthew Kennedy c309d1a555 normalize configuration grammar (#2240)
* modify grammar

* add missing typedefs

* these typedefs are easier to handle in the parser

* make the existing parser work with the changed format

* grumble grumble jar

* we can deal with this part later

* handle later

* deal with this later
2021-01-26 21:56:47 -05:00
David Holdeman 928b8ce70a New board pin-mapping system (#2231)
* convert mre mapping

* convert mre mapping

* funny stuff for GPIOA_5

* move class next to id

* rough draft

* update scripts

* fix some errors

* fix some errors

* try

* check against null

* try amp

* try

* try

* fix some errors

* update scripts

* fix maybe

* fix maybe 2

* fix maybe

* fix maybe

* fix

* try

* fix

* use .equals

* use StringBuilder

* use instanceof

* use .max

* remove getMaxValue

* Suppress Warning

* major optimization

* fix maybe

* off-by-one error

* move yaml file loop

* add j2 connector

* add pads yaml

* check for null or empty

* add AV pins to pads

* forgot class

* move registerpins out of loop

* fix typo

* rebase

* check if string

* convert frankenso

* convert frankenso

* tyop

* missing class

* copy mre to skel

* remove prometheus yaml

* remove kinetis yaml

* build configDefinition

* replace var with string

* slight refactor
2021-01-22 12:03:14 -05:00
rusefillc ebeec32676 Add #if/#else/#endif support to gen_config #1928 2020-11-05 08:04:04 -05:00
David Holdeman 02a12d76f3 fix type mismatch (#1808)
* fix type mismatch

* comment

* change field

* switch to efitimesec16_t

* add typedef

* add type to configdefinition

* build
2020-09-19 17:17:44 -04:00
rusefi 16f1d5a31b Tokenisation of multipler expressions #1735 2020-08-30 15:31:22 -04:00
rusefi 586264e58b https://github.com/rusefi/web_backend/issues/97 2020-08-30 14:58:05 -04:00
rusefi 92f0b76869 https://github.com/rusefi/web_backend/issues/73
toolset progress
2020-08-14 15:56:59 -04:00
rusefi 317738a335 Console commands are broken #1671 2020-08-05 19:51:43 -04:00
rusefi 0b57bd8390 progress 2020-08-04 23:18:35 -04:00
rusefi 385a3a9fa1 progress 2020-08-04 22:51:27 -04:00
rusefi 5630aa1963 STRING support for java fields 2020-07-18 19:30:49 -04:00
rusefi 6ae006b5fb STRING support for java fields 2020-07-18 19:12:47 -04:00
rusefi 5a18989c5a progress 2020-07-14 21:34:59 -04:00
rusefi 7c6e90e424 something was broken? 2020-07-06 02:05:34 -04:00
rusefi 41d89f0d59 trying to simplify things a bit 2020-07-05 23:09:43 -04:00
rusefi 92c629abac fresh 2020-07-02 14:20:09 -04:00
rusefi 435260fd94 fresh 2020-07-02 12:34:20 -04:00
rusefi 368d053adf fresh 2020-07-02 08:26:10 -04:00
rusefi bfcd225d05 all fields should have TS info 2020-06-30 15:20:30 -04:00
rusefi 890bf4919d all fields should have TS info 2020-06-30 15:19:11 -04:00
rusefi da52f21ceb convention for fields without TS info 2020-06-29 21:54:30 -04:00
rusefi 570000298e convention for fields without TS info 2020-06-29 21:53:26 -04:00
rusefi 8410bef1b0 progress? 2020-06-28 11:52:14 -04:00
rusefi 4a39d78118 progress 2020-06-28 11:04:20 -04:00
rusefi 793bd2528d helping .ini process 2020-06-28 10:02:16 -04:00
rusefi c0d73c260f fresh config tool jar 2020-06-27 14:26:52 -04:00
rusefi ba184e390c Only two .ini files got auto-generated #1519 2020-06-19 00:28:50 -04:00
rusefi 1c93e45cda TS project: hide all invalid entries fix #1505 2020-06-17 20:51:29 -04:00
rusefi 8293a92632 TS project: hide all invalid entries #1505 2020-06-17 20:33:17 -04:00
rusefi 2c83db49fb restoring ldmp 2020-06-17 19:03:10 -04:00
rusefi d81e139918 fixing stuff by reducing the gap between Windows and Linux scripts 2020-06-16 14:12:27 -04:00
rusefi 76d3dbe22c fixing stuff? 2020-06-14 18:06:33 -04:00
rusefi 0d0f8f6c60 progress 2020-05-31 14:05:03 -04:00
rusefi 8474fa8476 char type java generation 2020-05-25 13:57:34 -04:00
rusefi 32fbe0ed0c progress with _hex and _16_hex 2020-05-22 01:23:38 -04:00
rusefi 9b0a65efad progress - firing order logic to be re-evaluated every time we generate 2020-05-04 23:54:28 -04:00
rusefi adefb01362 screen generator 2020-04-29 22:34:51 -04:00
rusefi 598f90f6c9 code generator progress 2020-04-12 23:44:14 -04:00
rusefi 52a0bb375f documentation 2020-04-11 22:08:04 -04:00
rusEfi ac09211d71 live docs: whitespace support 2020-02-22 15:37:58 -05:00
rusefi 94c2f3a4cd he owes me one now 2020-02-14 23:03:26 -05:00
rusefi 2197f94bf1 gen_config should fail with misaligned integers fix #1115 2020-02-02 13:24:32 -05:00
rusefi 9cc013f9de Config generation handles padding after packed booleans (bits) wrong
fix #1057
2019-12-14 16:11:31 -05:00
rusefi b220781fa8 everyone loves cross-platform EOL issues! 2019-11-16 14:55:12 -05:00
rusefi 5ac63a78f5 better state validation 2019-11-16 14:52:17 -05:00
rusefi 5ac8545060 Delayed A/C compressor switch #922 2019-09-11 19:30:36 -04:00
rusefi 36a84f97b8 Live Docs progress: consuming data from multiple structures 2019-09-01 15:24:44 -04:00
rusefi de1b1318ce fresh code generator binary 2019-08-31 10:57:40 -04:00
rusefi d345369ac2 steps towards ETB live documentation 2019-08-15 20:24:17 -04:00
rusefi cc6257bf5c trigger counters to formula, docs & improvements 2019-07-20 14:56:56 -04:00
rusefi fd8f70d8c4 Annotations in C++ code to produce formulas in rusEfi console #807 2019-07-13 09:00:03 -04:00
rusefi d0e4a0984f Annotations in C++ code to produce formulas in rusEfi console #807 2019-06-27 06:47:13 -04:00
rusefi 0b843819eb TPS Live Documentation 2019-06-17 21:37:11 -04:00
rusefi e6b0e0625a Utility class which writes same line both to stdout and file 2019-06-17 20:21:32 -04:00
rusefi 7717f43fca explicit folder for generated java stuff 2019-06-16 22:14:40 -04:00
rusefi 7082885267 explicit folder for generated java stuff 2019-06-16 22:06:05 -04:00
rusefi 116897ba63 fixing fresh defect in code generator 2019-06-15 21:44:21 -04:00
rusefi 8fe9f1dcfe '-initialize_to_zero' mode for code generator 2019-06-15 15:54:58 -04:00
rusefi bd80315737 bumping configuration version in light of #773 2019-06-14 13:04:04 -04:00
rusefi ade7a62987 Annotations in C++ code to produce formulas in rusEfi console #807
reducing hard-coded constants in generator and etc
2019-06-14 00:47:28 -04:00
rusefi 0a2d65d506 template substitution for tsInfo part of the definition 2019-06-11 21:43:46 -04:00
rusefi c4cf7d2106 generating without build folder, faster fail in case of failure 2019-06-10 23:13:32 -04:00
rusefi e938b29bc3 signed byte type support 2019-06-10 23:08:38 -04:00
rusefi 3d88b546b5 input has sizes hard-coded #836 2019-06-10 13:38:25 -04:00
rusefi 9292efadbe TS flexibility for MRE 2019-06-07 17:38:12 -04:00
rusefi c577f50079 board-specific usability #808
fixing enum range
2019-06-04 23:45:41 -04:00
rusefi 60253de5f9 extracting hw-specific enums 2019-06-04 12:27:34 -04:00
rusefi 27b8c6d771 getting ready for enum file split 2019-06-02 16:16:06 -04:00
rusefi 844c5a9c1b pins mapping logic fix & pins kind fix 2019-06-02 14:10:21 -04:00
rusefi 50b2522088 board-specific usability #808
toolset
2019-06-01 18:27:34 -04:00
rusefi 4c75ebde21 Usability: TS project rework #811
trying to address encoding nightmare
2019-06-01 17:15:01 -04:00
rusefi cd36259258 incremental code generation 2019-06-01 16:51:32 -04:00
rusefi dc521198b6 board-specific usability #808 2019-05-30 20:41:54 -04:00
rusefi a2e8d02a11 board-specific usability #808 2019-05-30 18:19:27 -04:00
rusefi 483c891e16 board-specific usability #808 2019-05-30 00:18:41 -04:00
rusefi 93a90f5e7f generator progress 2019-05-27 20:06:01 -04:00
rusefi d788baaa09 learning C & C++ - explicit typedef vs struct 2019-05-27 19:35:30 -04:00
rusefi 92c9ea2893 code generator progress 2019-05-27 17:44:10 -04:00
rusefi 71d55fd7bd recovering rom raider generation 2019-05-27 06:55:10 -04:00
rusefi f76619c0e2 generator now takes full file name 2019-05-26 20:54:44 -04:00
rusefi d38bea0dd3 named parameters & lazy build feature 2019-05-26 18:37:53 -04:00
rusefi 44ad5fc3c8 configuration generator refactoring 2019-05-18 17:10:28 -04:00
rusefi 63b7ee7496 minor bugfix - enabling 31st bit 2019-05-02 18:19:56 -04:00
rusefi dae6638b62 rusEfi settings editor is broken for one byte enums #709 2019-04-08 11:19:07 -04:00
rusefi f851beecb1 gen_config: add rusefi_config_custom.txt to override #defines #727 2019-04-03 19:08:42 -04:00
rusefi 62fb26a60c gen_config: add rusefi_config_custom.txt to override #defines #727 2019-04-03 19:05:41 -04:00
rusefi e67f9ed33f refactoring 2018-12-20 01:01:59 -05:00
rusefi 615858a9ab refactoring 2018-12-20 00:59:33 -05:00
rusefi a4a8d22b37 refactoring 2018-12-20 00:52:18 -05:00
rusefi 76613f9e1b refactoring 2018-12-20 00:49:27 -05:00
rusefi 1d13e647db refactoring 2018-12-20 00:40:17 -05:00
rusefi 95a4852bf7 refacotring 2018-12-20 00:29:09 -05:00
rusefi 209a2e8446 refactoring 2018-12-20 00:27:49 -05:00
rusefi 0037c79a09 refactoring 2018-12-20 00:13:03 -05:00
rusefi 4e4fcc8563 refactoring 2018-12-19 23:45:00 -05:00
rusefi bcc51ad68b refactoring 2018-12-19 23:35:45 -05:00
rusefi a9752e7236 reducing confusion with file names 2018-12-19 23:18:03 -05:00
rusefi f8c97836e7 docs 2018-12-19 21:32:26 -05:00
rusefi 415f410baf ETB bias curve in TS 2018-12-09 13:50:13 -05:00
rusefi e14e12393c ETB bias curve by TPS 2018-12-09 10:19:47 -05:00
rusefi 8abe406f22 nicer message 2018-03-18 11:13:23 -04:00
rusefi b973fa580c detailed message 2018-03-18 09:03:39 -04:00
rusefi 68880d342b fixing build 2017-12-11 11:23:53 -05:00
rusefi 85a1ccb1ef #495 2017-11-19 14:29:46 -05:00
rusefi c490a1e70c #382 improvements to generator to support simple string constants 2017-04-03 21:09:04 -04:00
rusefi 60867cba65 EOL for generated files 2017-03-27 22:24:52 -04:00
rusefi 72871721ad EOL for generated files 2017-03-27 22:15:48 -04:00
rusefi fb19f30040 EOL for generated files 2017-03-27 21:29:38 -04:00
rusefi be7c78599b #382 2017-03-26 18:48:12 -04:00
rusefi 24a9bbe107 #382 non-numeric defines into C sources 2017-03-26 18:09:37 -04:00
rusefi f47715a806 better logging & time stamp feature 2017-03-03 20:07:06 -05:00
rusefi 56247bfc30 manual sync 2017-02-20 17:24:52 -05:00