Lephenixnoir
85d7fcf9e9
libfxlink: fix race condition leading to lost messages
...
Basically if the calculator sends two messages in a row, it is possible
for a single libusb_handle_events() to get both. And the comm structure
wasn't designed for that, because it could buffer only one message at a
time, which the user needed to read after event handling.
The comm structure now has a 16-message buffer, which should be more
than enough for any single event handling loop. On the user level this
has implications in that fxlink_device_finish_bulk_IN() must be called
*in a loop* after each event handling cycle.
Reported in https://git.planet-casio.com/Lephenixnoir/gint/pulls/27
2024-03-24 19:25:35 +01:00
Lephenixnoir
2d293eeb35
libfxlink: remove confusingly unused IN message
2024-03-24 18:17:18 +01:00
Lephenixnoir
8d8fca3ea2
fxsdk: add build-fxg3a -s (send) option
...
Note that this only makes sense if there is only one .g3a in the current
folder. If both the cg and the fxg3a targets are used, this will send
both g3a files, which is a waste of time.
2024-03-24 11:12:11 +01:00
Lephenixnoir
8092621967
fxsdk: better defaults for build-fxg3a projects
2024-03-24 10:45:19 +01:00
Lephenixnoir
519b4201fc
fxsdk: cleanup for building fx code as g3a ( #11 )
...
- Feature name: "fx g3a" or "fx as g3a"
- No need for a special send function
- Remove leftover bld file
2024-03-21 08:51:49 +01:00
Slyvtt
883ca77167
corrected typo for send option
2024-03-21 08:30:00 +01:00
Slyvtt
8574824b31
removed build-fxascg-push target due to possible RAM allocation issues
2024-03-21 08:30:00 +01:00
Slyvtt
45b207b150
'fxsdk build-fx-as-cg' working and added send command line option
2024-03-21 08:30:00 +01:00
Slyvtt
a3aa537e84
Start working on a build target FX9860G_AS_CG for fxSDK & gint
2024-03-21 08:30:00 +01:00
Lephenixnoir
4c307af02b
fxconv: preliminary support for fonts in PythonExtra
2024-03-21 08:29:06 +01:00
Lephenixnoir
2acc439ed4
fxsdk: add TARGET_FXCG50_FASTLOAD macro for add-in push builds
2024-02-03 19:45:15 +01:00
Lephenixnoir
8030d6bdc6
fxconv: PythonExtra support for bopti-cg
2024-02-03 16:00:05 +01:00
Lephenixnoir
4a84bfdcd4
fxconv: fix stupid compact mode bug
2024-02-03 16:00:05 +01:00
Lephenixnoir
6e62fb7d6d
fxconv: PythonExtra support for bopti-fx
2024-02-01 17:48:45 +01:00
Lephenixnoir
975f29a471
fxconv: (fix indent)
2024-01-31 23:28:49 +01:00
Lephenixnoir
da79a6a0e8
fxlink: add --folder option to fxlink -s to select output folder
2024-01-30 22:19:19 +01:00
Lephenixnoir
ecf04cb634
fxconv: make bopti-fx image data a pointer
2024-01-21 21:06:01 +01:00
Lephenixnoir
45fd52444f
fxlink: add (unused) scale parameter to SDL2 video capture
2024-01-21 21:05:36 +01:00
Lephenixnoir
9f4d17ca4f
fxlink: don't free glib pointer apparently not malloc'ed
2023-12-03 16:08:58 +01:00
Lephenixnoir
8f50f7694a
fxconv: fix c-c/c-v in range error messages
2023-10-17 21:56:38 +02:00
Lephenixnoir
88235041a3
fxconv: add i8/i16/i32, with range checks
2023-10-17 20:18:09 +02:00
Lephenixnoir
be8c1f0d94
fxconv: alignment parameter in fxconv.ptr() (default 4)
2023-08-20 10:41:53 +02:00
Lephenixnoir
11e3b614c2
fxconv: add an elf_multi() function to produce multiple variables
2023-08-15 21:59:17 +02:00
Lephenixnoir
cf3ab5d5e0
fxconv: copy elements in += ObjectData instead of referencing subobject
...
This way, after o1 += o2, when o1 is linked all the outer data of o2 is
linked alongside the outer data of o1, and the inner data remains
contiguous. This is important for arrays, where we don't want the outer
data of o2 to appear before the next inner field of o1.
With this commit, an update to o2 after o1 += o2 no longer updates o1.
This wasn't a feature in the first place.
2023-08-08 20:26:37 +02:00
Lephenixnoir
82027e1057
bump version to 2.10.0
2023-04-01 23:51:12 +02:00
Lephenixnoir
7b77fb9c0b
libfxlink: add status functions to avoid looking into fdev fields
2023-04-01 21:35:28 +02:00
Lephenixnoir
394d05726d
fxlink: add missing <unistd.h> to tui/tui-interactive.c
2023-03-28 21:43:59 +02:00
Lephenixnoir
0c0eb7f4f5
libfxlink: use old libusb for compatibility with 1.0.23
2023-03-28 19:35:00 +02:00
Lephenixnoir
1251ca23ee
libfxlink: return status from fxlink_device_start_bulk_{IN,OUT}
2023-03-27 19:47:08 +02:00
Lephenixnoir
1573db3860
libfxlink: install the library
2023-03-27 19:46:29 +02:00
Lephenixnoir
065233387d
split fxlink into library (not installed yet) and executable
2023-03-26 12:20:50 +02:00
Lephenixnoir
3f4aa1e750
fxlink: usable TUI command setup + gintctl test commands
2023-03-26 11:41:55 +02:00
Lephenixnoir
cef9d21076
fxlink: start implementing TUI commands (mainly gintctl tests)
2023-03-17 21:32:01 +01:00
Lephenixnoir
f83ea7e3d3
fxsdk: restore almost-original CG icon, but with the GIMP template
2023-03-12 22:07:30 +01:00
Lephenixnoir
4b980d949b
fxsdk: another failed attempt at a better CG icon
2023-03-12 20:55:48 +01:00
Lephenixnoir
0a61ffc523
fxlink: basic TUI commands
2023-03-12 20:55:18 +01:00
Lephenixnoir
c7c1ec35f7
fxlink: send zero-length packets after commands
2023-03-12 20:54:53 +01:00
Lephenixnoir
3dc9f06219
fxlink: basic writing logic and 'test' command
2023-03-04 18:07:30 +01:00
Lephenixnoir
9d30377d90
fxlink: full rewrite; deeper device management and TUI
...
This commit rewrites the entire device management layer of fxlink on the
libusb side, providing new abstractions that support live/async device
management, including communication.
This system is put to use in a new TUI interactive mode (fxlink -t)
which can run in the background, connects to calculators automatically
without interfering with file transfer tools, and is much more detailed
in its interface than the previous interactive mode (fxlink -i).
The TUI mode will also soon be extended to support sending data.
2023-03-03 00:29:00 +01:00
Lephenixnoir
d6ed47b133
fxsdk: add build-cg-push to default .gitignore
2023-01-19 21:35:22 +01:00
Lephenixnoir
ae452c3bc2
Merge pull request 'Add fast push mode' ( #10 ) from Heath123/fxsdk:dev into dev
...
Reviewed-on: https://gitea.planet-casio.com/Lephenixnoir/fxsdk/pulls/10
2023-01-19 09:38:12 +01:00
Heath123
6849c1624e
Add push mode
2023-01-17 23:05:38 +00:00
Lephenixnoir
7b2294d8c0
fxsdk: don't generate G3A in fastload, use bin
2023-01-17 10:13:11 +01:00
Lephenixnoir
d91e6b7497
fxsdk: add build-cg-push command (no send yet)
2023-01-17 09:58:16 +01:00
Lephenixnoir
dc522072e7
fxconv: honor section setting for ASM conversions
2023-01-15 16:32:51 +01:00
Lephenixnoir
c9e9f347e4
fxsdk: GIMP icon template and new default icon
2023-01-02 17:56:25 +01:00
Lephenixnoir
ebfde1f13d
fxlink: add reconnecting interactive mode (-ir)
...
This exposes how terrible the libusb code is. Future problem for now.
2022-12-03 13:34:06 +01:00
Lephenixnoir
e31d053a08
fxsdk: handle parentheses in paths for fxgxa
...
Quotes are still impossible because CMake is unredeemable in that
regard.
2022-11-25 10:56:59 +01:00
Lephenixnoir
8c966821e8
fxconv: fix bad detection of fxconv-metadata.txt for relative paths
2022-11-05 18:44:33 +01:00
Lephenixnoir
1a443454c9
fxsdk: provide an FXSDK_TOOLCHAIN variable (= "sh-elf-")
2022-10-29 14:37:28 +02:00