Commit Graph

80 Commits

Author SHA1 Message Date
Maxim Prokhorov
82feb95daa test(build): configurable paths & .gitignore test caches
add one more level of directories for build config & its cache
replace test/pio_cache w/ test/build/cache
2025-06-08 22:07:56 +03:00
Maxim Prokhorov
05513b5d63 pio: uninstall one package at a time
amend 7c2130b722
since install skips deps, skip them in uninstall as well
2025-01-14 19:42:20 +03:00
Maxim Prokhorov
46f4eef428 pio: auth as literal string
ref. https://scons.org/doc/production/HTML/scons-user.html#f-Literal
> The specified string will be preserved as-is and not have construction variables expanded.

resolve #1498
2024-08-30 15:49:30 +03:00
Maxim Prokhorov
812ff5a800 pio: pin script replacement to framework version instead of platform
don't replace w/ git version
2024-08-24 01:06:01 +03:00
Maxim Prokhorov
b3bc053e52 pio: workaround py3.12+ syntax warnings
core 2.7.4 elf2bin patches w/ subprocess.run
temporary workaround for -latest, pending 3.2.0 release
2024-08-24 00:50:06 +03:00
Maxim Prokhorov
fef05f9820 pio: sync decoder.py w/ esp8266/Arduino version 2024-08-03 03:19:40 +03:00
Maxim Prokhorov
d292f32a99 pio: dep and preprocess helper target
drop sideeffect dependency in favour of a direct one
build both .d and .E, for .o and preprocessor deps respectively
2024-07-25 21:31:59 +03:00
Maxim Prokhorov
a5d8bf8746 ci: builder job per id 2024-06-24 22:42:00 +03:00
Maxim Prokhorov
30c6b90bc7 ci: py312 deprecation warnings 2024-06-15 20:46:49 +03:00
Maxim Prokhorov
e529e38ec6 pio: update for re2c 3.0 and fix exit handling 2024-05-16 00:04:00 +03:00
Maxim Prokhorov
be74757710 scripts: no need for pytz to generate tz list 2023-10-17 03:43:30 +03:00
Maxim Prokhorov
26fc2abc88 pio: typo
(redraw)
2023-03-27 19:29:02 +03:00
Maxim Prokhorov
bcb6f6b2d4 pio: missing default env value 2023-03-27 19:20:20 +03:00
Maxim Prokhorov
cfab435275 pio: experiment with cachedir 2023-03-27 19:12:27 +03:00
Maxim Prokhorov
e2c8dd7be1 pio: fix dependencies generator
`-mD` is not an option...

`-M -MF $file` can be used together with `-E` to generate a small
makefile-like generator (does not include any compiler flags!) for the
target file so we know which files it would use during compilation
2023-01-17 06:25:53 +03:00
Max Prokhorov
d141a3e5b3 pio: conditional for preprocess target 2023-01-13 06:28:22 +03:00
Maxim Prokhorov
579a5b239b pio: helper to build single-source .E 2023-01-13 02:42:34 +03:00
Maxim Prokhorov
fb21386de5 test: warning fixes 2023-01-11 06:08:53 +03:00
Maxim Prokhorov
5a74dc146e doc: simple offsets with generic syntax
same as original fix for the Core
fix footer into a single line and add UTC alias notice
2022-11-25 09:46:38 +03:00
Maxim Prokhorov
70d25aea06 webui: ntp offsets from tzdata/etcetera
refer to our docs for the script output
see #2548
2022-11-17 01:46:51 +03:00
Maxim Prokhorov
360a2f14e7 scripts: update core -> minimal
amend 5bc55cd1a5
2022-09-23 06:09:58 +03:00
Maxim Prokhorov
ac14cbca4f pio: .gz and two-step hint on upload target 2022-09-23 05:04:26 +03:00
Maxim Prokhorov
95e659fa58 decoder: spacing for lines prefixed with (inlined by) 2022-09-21 04:31:20 +03:00
Maxim Prokhorov
d2e0bd9ac5 pio: update formatting 2022-08-31 03:08:30 +03:00
Maxim Prokhorov
5527441d36 pio: cppcheck works with pio-check
https://docs.platformio.org/en/latest/core/userguide/cmd_check.html
2022-08-31 03:08:30 +03:00
Maxim Prokhorov
246364470c ci: compress debug symbols a bit more 2022-08-31 03:08:30 +03:00
Maxim Prokhorov
038f1ffec3 pio: firmware.bin.gz builder 2022-08-31 03:08:30 +03:00
Maxim Prokhorov
d17316f78c pio: fix .bin size check script dependency
cannot depend on checkprogsize, since it depends on .elf and not .bin

also, compare with the block-aligned size
add notes about reserved space

warning might become annoying, though :)
2022-08-31 03:08:06 +03:00
Maxim Prokhorov
e8e9c152e7 pio: missing scripts 2022-08-30 03:22:47 +03:00
Maxim Prokhorov
a6df38e807 pio: stack dump decoder script
from the pending ESP8266 Core PR
2022-08-30 03:18:11 +03:00
Maxim Prokhorov
74ce4d974d pio: update formatting 2022-08-30 03:18:11 +03:00
Maxim Prokhorov
c0e74e431d pio: prettier file size output 2022-08-30 03:18:07 +03:00
Maxim Prokhorov
fd249c8055 pio: also hide raw putc function in postmortem
updates scripts to be a post action
rename redefined symbols to stubs
2022-08-30 02:06:30 +03:00
Maxim Prokhorov
6f122f5ecb pio: debug info in distributed builds and build-and-copy fixes
store objcopy of these extra symbols and .map from the linker
distribution will have an extra debug .zip file that could be used with
the exception decoder

also fixes relative paths in the build-and-copy
(although, yet again loses the pio target in the gui)
2022-08-30 01:33:55 +03:00
hamed
660d8c339b sns: add INA219 (current / power monitor)
resolves #2501

Co-Authored-by: Maxim Prokhorov <prokhorov.max@outlook.com>
2022-05-18 21:22:32 +03:00
Maxim Prokhorov
7c2130b722 pio: prune unused libraries from shared_lib_dir 2022-05-06 15:48:16 +03:00
Maxim Prokhorov
57f04023d4 pio: major version option renames 2022-05-05 20:02:35 +03:00
Maxim Prokhorov
5ccc70e42e pio: trying to work out 6.0.0 changes 2022-05-05 17:50:21 +03:00
Maxim Prokhorov
8312f27e4b pio: even shorter suffix for .ipp files
remove .cpp from the resulting suffix, since .ipp already implies it is c++
update comments once again
2021-12-07 01:06:18 +03:00
Maxim Prokhorov
c0c3dcdc1d ir: include typos 2021-11-30 03:20:13 +03:00
Maxim Prokhorov
d40322d98f ci: fix quoting for the test_build -include
amends 79321b6707
otherwise, env.ParseFlags never understands it
2021-11-30 03:17:33 +03:00
Maxim Prokhorov
d094283df2 pio: formatting 2021-11-30 01:28:09 +03:00
Maxim Prokhorov
a7a9c5045f pio: generate .cpp.ipp instead of .cpp.inc
fixes #2479
2021-11-30 00:15:52 +03:00
Maxim Prokhorov
c738b91b6a pio: simplify single-source builder
Generate resulting .cpp in the $BUILD_DIR, no need for atexit
Register middleware only once, there's no need to manually walk the
project directory since fnmatch.fnmatch(...) supports globs

Provide a SCons Action instead of simple function, so there's a way to
generate things on demand via command line
```
$ pio run -e $env -t .pio/build/$env/espurna_single_source/src/main.cpp
```
2021-11-30 00:06:24 +03:00
Maxim Prokhorov
ebc479f145 pio: fix indirect dependency on the build-and-copy .bin 2021-11-29 23:06:25 +03:00
Maxim Prokhorov
79321b6707 ci: directly use the test build headers
- just pass `-include ${cfg}` to the compiler instead of a
  temporary custom.h. also do `-DDEVICE=...` and `-DMANUFACTURER=...`
- rework test_build to print using `logging` module
- report leftover configurations, after the failed one exits
- prettify the output and highlight relevant info instead of the whole lines
2021-11-29 23:06:03 +03:00
Maxim Prokhorov
cf0315c231 scripts: formatting 2021-10-03 20:44:58 +03:00
Maxim Prokhorov
001ec79c8e ir: clean-up and refactoring of the existing module
- provide a queue for the outgoing messages, don't depend on the MQTT
  callback implementation details and always postpone the actual transfer.
- generate user input parsers using re2c, adds special PlatformIO build handlers
- add terminal command to show GPIO info and send a simple payload
- rework button<->action presets into value<->terminal command presets and custom ones
  through the use of `irCmd<VALUE>` settings, where the VALUE is taken from the simple payload
  (yet, it does not understand repeated codes, but that's something to add later *or* use rpnlib)
- add tx message integration for the relay module via `irRelayOn#` and `irRelayOff#`
- rework simple payload to include 'repeats' value for the 'IRsend::send()'
  also adds internal 'series', 'delay' and includes full 64bit 'value'
  (as uppercase HEX, instead of decimal)
- rework raw payload to use 'series' instead of 'repeats', and provide a
  clear distinction between the usec time and the options of the message
  by moving the required options to the front and separating them using ':'
  (just like the simple variant)
- make RX and TX pin a runtime setting, make RX and TX support a build flag
- small test framework to check whether internal string encode<->decode works

Also updates the hexEncode & hexDecode implementations to use
'iterators' instead of just pointer + index.
2021-10-03 20:44:58 +03:00
Maxim Prokhorov
bdd821db86 pio: check returncode of the git process
Since the Popen instance won't do that by itself. Handles the case
where there is `git` command present, but it's not a git repo underneath.
2021-08-17 14:35:20 +03:00
Maxim Prokhorov
cf79259189 ci: release workflow 2021-08-06 14:45:52 +03:00