View source
1200D
Author Commit Message Date Builds
Alex
Merged qemu into 1200D
Alex
1200D: removed old minimal target to fix "make zip"
Alex
Minimal targets: only compile subdirectories with a valid Makefile
Alex
QEMU tests: FA_CaptureTestImage works on 1300D (prints "Image Power Failure", but the fix is not straightforward)
Alex
Merged qemu into 1200D
Alex
Merged lua_fix into 1200D
Alex
fw-signature.h: fix bad merge
Alex
Makefile: when running "make install", copy ML-SETUP.FIR only for the generic profile (not for minimal or other targets)
Alex
Makefile: always check all minimal targets when running "make zip" (only check whether they compile without errors, just like with the installer)
Alex
Minimal target: moved the Hello World example into its own directory and removed old platform folders
Alex
Minimal targets: 5D3 1.1.3 hacks no longer needed
Alex
GDB scripts: fix IDC names containing spaces
Alex
QEMU: fix timeout in ImgPowDet emulation (there were nondeterministic errors in the FRSP test)
Alex
QEMU: emulate ADTGDMA interrupt (used on 100D and EOS M2) - fixes FA_CaptureTestImage on 100D - some LiveView screenshots changed on 100D - color palette in LiveView changed on M2; can be worked around by pressing L (updated menu tests)
Alex
QEMU tests: ignore nondeterministic screenshot on 6D (may appear with or without free space)
Alex
GDB scripts: moved try_expand_ram_struct at the top
Alex
GDB scripts: minor whitespace fix
Alex
QEMU: ensure valid RAM address before executing EDMAC transfers (EOS M fails here when running FA_CaptureTestImage)
Alex
QEMU: image sensor power emulation (fixes FA_CaptureTestImage on 5D2; tested on all other models able to run the FRSP test)
Alex
QEMU: output dummy data (zeros) on read EDMAC connections Fixes FA_CaptureTestImage on 700D and 650D.
Alex
qemu-frsp: fix compiling for 70D
Alex
QEMU: allow reads to EDMAC CHSW registers (required for FA_CaptureTestImage emulation on 6D and others)
Alex
qemu-frsp: ensure valid exposure settings before the test (exposure time not too long, ISO other than Auto; required on 600D and others)
Alex
QEMU: fix YUV vertical scaling for 1100D (only the FRSP test uses it for now)
Alex
qemu-frsp: allocate a YUV buffer if there isn't one already set up (only with CONFIG_QEMU) Fixes preview on 5D3 and 1100D, where Canon firmware does not allocate one at startup.
Alex
QEMU tests: all models able to navigate Canon menu should pass the FRSP (FA_CaptureTestImage) test Most of them will fail; to be fixed.
Alex
QEMU tests: handle models not yet in mainline (FRSP and HPTimer tests are using this for now)
Alex
QEMU: updated gcc 7/8 patch for systems using virtio-9p
Alex
QEMU: updated gcc 7.x patch to also work with gcc 8.x
Alex
eos.c: fix gcc8 warnings
Alex
Makefile: allow "make install*" without a FIR file (for minimal targets and new platforms)
Alex
QEMU logging: attempt to identify tail calls by default (-d calls,notail to disable)
Alex
QEMU tests: updated for 200D 1.0.1
Alex
QEMU logging: moved IDC files into model subdirectories (for consistency with romcpy shell files)
Alex
QEMU logging: fix typo when using -d romcpy (output file path was not printed correctly)
Alex
QEMU tests: initial support for 800D (fixme: call trace not deterministic, same as 77D)
Alex
800D: minor stub fixes in GDB script
Ian Scott
qemu: add 800D to model_list.c, and add 800D/debugmsg.gdb
Daniel Fort
1200D: stubs GUI_SetCFnForTab4 GUI_GetCFnForTab4 found but not currently used
Alex
Config options: fix issue #2892 (custom presets not appearing in menu)
Alex
Merged config_var_refactor into lua_fix
Alex
Merged unified into lua_fix
Alex
Menu: fix config var incorrectly changed during fast toggles (e.g. 36 -> 35 without calling the CBR)
Alex
Config variables: declare all internal structures static (minor refactor)
Alex
Config variables: include the forward declaration in the CONFIG_INT_EX definition (no longer needed to declare CONFIG_VAR_CHANGE_FUNC's twice)
Alex
Config variables: use CONFIG_VAR_CHANGE_FUNC (similar to MENU_SELECT_FUNC); minor renames
Alex
Merged unified into config_var_refactor
Alex
audio-ak: fix compiling for 500D
Alex
menu: short joystick clicks should not be interpreted as SET outside ML menu (fixes incorrect trigger of Auto ETTR from joystick, for example)
David Milligan
rename xxx_update functions for config_vars to xxx_on_change
David Milligan
rename CONFIG_INT_UPDATE to CONFIG_INT_EX and .update to .on_change to avoid confusion and name conflicts with MENU_UPDATE_FUNCs
David Milligan
Merge
David Milligan
config var: refactor audio-lapis to use new config var CBR (not tested -> I have none of these cameras)
David Milligan
config var: refactor audio-ak and audio-common to use new config var CBR (TODO: audio-lapis)
Alex
QEMU: experimental support for gdb-multiarch (latest Ubuntu no longer has gdb-arm-none-eabi...)
Alex
QEMU install: minor fixes
Alex
QEMU install: on some systems, building GDB requires makeinfo; skip it https://sourceware.org/bugzilla/show_bug.cgi?id=18113 Also show the last few lines from the compilation logs if there's an error.
Alex
QEMU install: on older Ubuntu, gcc/gdb installation without package manager may be required
Alex
QEMU install: minor fix for 32-bit Ubuntu (option 3: no 64-bit gcc available)
Alex
QEMU installer: removed option to allow old 64-bit GDB (hopefully no longer needed)
Alex
QEMU installer: minor fix regarding GDB installation (force compiling from source if a valid 64-bit gdb is already installed)
Alex
QEMU installer: attempt to compile gdb 8.1 from source if a 32-bit version is not available (in particular, Mac and WSL) https://www.magiclantern.fm/forum/index.php?topic=2864.msg200954#msg200954 (thanks t3r4n)
Alex
QEMU install: there's no DISPLAY variable on Mac
Alex
QEMU: better emulation for cache patches (uninstalling works, at least for dm-spy-experiments)
Alex
QEMU: fix CPU0 labels incorrectly appearing in DIGIC 6 logs (only DIGIC 7 should display these)
Alex
QEMU: moved ARM946EOS-specific functions (cache lockdown and WFI) from cpu.c to helper.c
Alex
Minimal targets: CONFIG_QEMU no longer hardcoded in Makefile (should be specified on the command line if desired)
Alex
Makefile: allow CONFIG_QEMU to work on all ML profiles, including minimal and installer By default, CONFIG options are only used for the generic profile. This enables qprintf for debugging DIGIC 6/7 ports using the minimal profile.
Alex
QEMU: fix printing callstack from GDB scripts (broken in 1834cd8)
Alex
GDB scripts: workaround for a crash occuring with 5D (possibly GDB bug; can't explain why it works)
Alex
qemu-frsp: fix compiling on lua_fix codebase (1200D and soon all others)
Alex
QEMU: updated expected test results for 1200D 1.0.2 (no stubs changed in debugmsg.gdb)
Alex
QEMU: removed bogus/unused BGMT_ISO
Alex
QEMU: fix Q button code for 1200D - https://www.magiclantern.fm/forum/index.php?topic=12627.msg200889#msg200889 - assuming the same applies to 1300D; unsure about 600D/1100D
Alex
1200D: enabled CONFIG_MOVIE_AE_WARNING (there are manual video controls in Canon menu, but they are disabled by default)
Alex
1200D: fix opening ML menu in movie mode with auto exposure
Alex
1200D: fix Q button code after refactoring https://www.magiclantern.fm/forum/index.php?topic=12627.msg200889#msg200889 todo: fix the emulator (waiting for reports from 600D and 1100D)
Alex
QEMU: fix compiling on 32-bit x86 hosts Caveat: -d romcpy not working on x86 (requires int128_t)
Alex
QEMU README: initial notes on DIGIC 7
Daniel Fort
Applied changes from commit b9e0b9e
Alex
Merged lua_fix into 1200D
Alex
Merged unified into 1200D
Alex
Merged in daniel_fort/magic-lantern/update-to-1200D.102 (pull request #921) Update to 1200D.102
Alex
Close branch
Alex
1200D: installer FIR for 1.0.2
Daniel Fort
Update to 1200D.102
Daniel Fort
Prepare source tree for update using "hg rename" to preserve revision history and added 1200D minimal directory
Alex
QEMU: initial support for DIGIC 7 EOS (200D, 77D, 6D2) - added ROMID; updated MemDiv, XDMAC, SDIO - emulation starts many tasks, talks to MPU, initializes SD, creates the DCIM directory on the virtual card - fails with ERROR WaitPU1 TimeOut - dumpf does not save any logs (figure out why) - note: M5 ROM should now be loaded as ROM0
Alex
QEMU logging: initial support for DIGIC 7 (CPU0 only; exception vectors at nonzero address)
Alex
QEMU tests: ROM dumper needs larger timeout on slower computers; undo unwanted changes from cb93334
Alex
QEMU tests: fix expected results for restore after format after updating SD image
Alex
QEMU tests: reworked ROM dump test to wait as much or as little as each camera needs (fixme: 70D waits for some CFDMA messages that are for some other device)
Alex
QEMU: usleep patching no longer required on M3
Alex
QEMU: updated ROM dump tests to check SFDATA.BIN too (currently only applies to DIGIC 6)
Alex
QEMU: updated SD image with latest display test (changeset 9b37638)
Alex
QEMU: experimental UTimer emulation - these look pretty much like regular timers (same offsets), but behave like HPTimers! - UTimer patches from DIGIC 6 no longer needed! - fine-tuned HPTimer messages
Alex
QEMU: fix logging of MMIO registers from the same range as MREQ (eos_handle_mreq also receives a few other registers, unknown yet)
Alex
QEMU: specify actual RAM size for each model, rather than using generic values (emulating with larger size usually works, but doesn't catch some edge cases)
Alex
QEMU: reordered model definitions in model_list.c (grouped by DIGIC version and similarity)
Alex
QEMU: renamed IO_MEM_START/SIZE to MMIO_ADDR/SIZE for consistency; added MMIO_ADDR to model_list.c (possibly needed for future models)
Alex
QEMU: removed unused entries; moved ML helpers to a different GPIO range. Old range was not accessible on certain models, such as PowerShots and DIGIC 7. Old GPIOs are still accepted (debugging existing code from experimental branches is still possible without merging latest qemu).
Alex
QEMU logging: -d romcpy now output a shell script for extracting the copied blocks
Alex
QEMU: memfd patch to fix compilation with glibc 2.27 https://patchwork.openembedded.org/patch/147682/
Alex
QEMU installer: minor updates - option to "make clean" before renaming the old folder (to save disk space) - exit if QEMU fails to compile - check for a valid DISPLAY (important for WSL) - updated help links
Alex
QEMU: updated CPU definition for DIGIC 7; renamed for older models and reverted the HIVECS property back to false
Alex
QEMU tests: updated checksums for EOS M/M2 screenshots displaying date/time (fix commit 8c575ef99b7f)
Alex
QEMU tests: updated checksum for a screenshot affected by transparency - commit 5b274e3 (Canon quirk - it's not even a LiveView screenshot)
Alex
annotate_mpu_log.py: allow incomplete mpu_send/recv lines (such as the ones from 80D logs)
Alex
MPU spells: documented some AF-related properties
Alex
GDB scripts: also identify and name PTP handlers
Alex
GDB scripts: identify named functions during execution and export as IDC Named functions identified from: task_create, register_func, register_interrupt, CreateStateObject Tested on 5D3 1.1.3, EOSM2 1.0.3 and 80D 1.0.2 (missing stubs added).
Alex
QEMU: check whether the ROM contents are mirrored (whether dumped size is larger than actual ROM size) ``` [EOS] loading './50D/ROM0.BIN' to 0xF0000000-0xF0FFFFFF [EOS] mirrored data; unique 0x400000 bytes repeated 0x4 times [EOS] loading './50D/ROM1.BIN' to 0xF8000000-0xF8FFFFFF [EOS] mirrored data; unique 0x800000 bytes repeated 0x2 times ``` https://www.magiclantern.fm/forum/index.php?topic=2864.msg199837#msg199837
Alex
QEMU: SRM_SetBusy/ClearBusy emulation for 5D3/6D/70D
Alex
annotate_mpu_log.py: mark unknown MPU messages with ??? (this ensures all MPU messages are displayed to the terminal, including unknown ones)
Alex
lua_task: task name must be allocated by caller (it's not copied, so we must not modify it afterwards) Easiest way: use the same name for all tasks started by Lua scripts.
Alex
Lua: added sleep() with floating-point argument (similar to msleep)
Alex
Lua: option to disable powersave while running tasks created from scripts Example: task.create(func, nil, nil, true)
Alex
Powersave: experimental option to disable the 30-minute timer in LiveView
Alex
Powersave: simplified the option to enable while recording; updated help; aligned menu definition
Alex
menu: experimental fix for issue #1974 (timeout in LiveView, 6D/M/100D/70D) Hypothesis: https://bitbucket.org/hudson/magic-lantern/issues/1974/6df#comment-44206798 Tested on 5D3 with GUI mode 41. Tested in QEMU on 6D (it keeps poking the MPU while ML menu is open).
Alex
property.h: fix declaration of prop_deliver (first argument is a pointer to the property, unlike prop_request_change)
Alex
boot-hack: no real reason to use short for magic_off (
Alex
boot-hack: make sure our relocation buffer is 32-bit aligned (it usually is, unless compiler decides otherwise)
Alex
Lua: experimental camera.flash (get/set) shoot.h: added set_flash_firing
Alex
boot-hack: fade-out LED feedback when bypassing ML at startup (by pressing or not pressing SET, depending on how it's configured) Should also fix https://www.magiclantern.fm/forum/index.php?topic=21765.msg198829#msg198829
Alex
Menu: QEMU hack 90f702c no longer needed for EOS M/M2 (keeping changes to gui.h and button_codes.h)
Alex
run_canon_fw.sh: fix printing GDB command line on systems where process name is limited to 15 chars; only look at processes started by the same parent as this script (to avoid false positives) to be tested on Mac and WSL
Alex
QEMU: EOS M and M2 appear to handle the Q/SET button just like 100D https://www.magiclantern.fm/forum/index.php?topic=21765.msg198769#msg198769
Alex
QEMU: enabled MPU properties for EOS M (no more issues after LiveView emulation)
Alex
QEMU: allow any argument for PROP_LEO_LENSID (EOSM); documented PROP_LEO_LENS* Should fix emulation with ROMs saved with a different lens (apparently lens ID goes into ROM - property 0xC000004) https://www.magiclantern.fm/forum/index.php?topic=9741.msg198847#msg198847
Alex
Experimental option to load ML only when holding SET pressed at startup https://www.magiclantern.fm/forum/index.php?topic=21765.msg198779#msg198779
Alex
config.h: require const char * for config_flag_file_setting_save/load
Alex
EOS M: disabled long-press SET/Q (let's try PLAY for submenus)
Alex
Menu: use PLAY (in addition to Q) for opening submenus (experiment) https://www.magiclantern.fm/forum/index.php?topic=4386.msg198669#msg198669
Alex
Menu: disabled Junkie mode; MENU key just goes back https://www.magiclantern.fm/forum/index.php?topic=4386.msg198720#msg198720 Can be re-enabled by defining FEATURE_JUNKIE_MENU in features.h
Alex
Auto ETTR: backout EOS M specific changes (pull request $428), hopefully no longer needed. Triggering by SET should now work just like on all other camera models. Not tested, please report back.
Alex
EOSM: enable the SET/Q long-press trick from 100D (short press = SET, long press = Q)
Alex
100D, EOSM: attempt to fix pressing SET at startup to bypass ML https://www.magiclantern.fm/forum/index.php?topic=21765.msg198761#msg198761 (the INFO key can now be used for config presets, just like with all other models) Change made generic, for any future models that might use a combined Q/SET button.
Alex
QEMU: send PROP_LV_LENS message at initialization (5D3 1.1.3; 1.2.3 commented; the message is model-specific) Useful for LiveView emulation (display focal length, focus distance etc) Message sent in a different place (not as in the logs), as it interferes with our (broken) LiveView emulation
Alex
QEMU: experimental bitmap transparency support (doesn't match the hardware exactly, but it's better than nothing)
Alex
QEMU: experimental movie mode switch (V key) Some cameras have dedicated movie mode on the dial, others use a switch and can record video in any mode dial position.
Alex
QEMU: key mapping for Zoom In / Zoom Out (they don't do anything interesing yet); allow defining different keybindings on the same physical key (5D3/6D: only one zoom button, unlike most others) cleaned up zoom button handling on 5D3 and 6D (unpress zoom out should not be sent from keyboard, for example)
Alex
QEMU: fix copy/paste error in HPTimer emulation (no side effects)
Alex
QEMU tests: large timeouts appear to help in some tricky cases (such as mode switches, which may be slower than usual)
Alex
QEMU: updated GUI tests for LiveView. EOS M/M2: no more reason to start with the date/time dialog. Still some color palette issues; usually can be worked around by switching to other video mode and back. Minor call trace differences for 650D and 700D (missed from previous commit)
Alex
QEMU: LiveView works!!! (GUI elements only, no image) Credits go to Greg for the first PoC https://www.magiclantern.fm/forum/index.php?topic=2864.msg179867#msg179867 Tests not yet updated, just to check whether the implementation is really without side effects outside LV. Only one screenshot changed - on EOS M (that screenshot was already in LiveView). Note: 70D uses more EDMAC connections; increased number from 48 to 64.
Alex
MPU spells: identified some more properties while looking into the EOSM shutter bug https://www.magiclantern.fm/forum/index.php?topic=21728.0
Alex
QEMU: validate calls to eos_trigger_int allow missing UART RX/TX interrupt and just print a warning (affected: Eeko and EOS M5; fix not obvious)
Alex
QEMU: removed unnecessary assertion in interrupt controller (triggered very rarely under "normal" conditions, but happens very often with io_trace)
Alex
QEMU tests: run the GDB test for 10 seconds (these logs will be used for building the interrupt map)
Alex
QEMU: fix alignment of MMIO messages before starting tasks (-d io)
Alex
QEMU: fix HPTimer handling of periodic triggers (VxWorks models use a HPTimer as heartbeat, unlike DryOS) No visible differences on the UI, but heartbeat is now triggering on all VxWorks models. Minor emulation differences on 60D, 600D, 650D, 700D, 100D, EOSM, 6D (besides VxWorks models).
Alex
GDB scripts: EOSM.202 stubs for logging properties (related: af43d85)
Alex
annotate_mpu_log.py: fix handling logs with Windows newlines https://www.magiclantern.fm/forum/index.php?topic=21728.msg198330#msg198330
Alex
QEMU: delay EDMAC reads by one timer step (apparently reads are supposed to finish after writes) Change required to pass the memory benchmark on 5D3 and 6D. 700D gives the same error if writes are delayed. Minor changes to call/return trace on 60D, 600D, 1200D and 1300D (no visible effects).
Alex
QEMU tests: updated EOSM2 call/return trace for latest SFDATA.BIN from dfort (previously, SFDATA.BIN for 100D was assumed; no visible changes)
Alex
QEMU: declared silent control events for 5D3 (not used; only for annotations)
Alex
MPU spells: found PROP_LV_APERTURE and PROP_SILENT_CONTROL_STATUS
Alex
QEMU: declared internal zoom in/out events for 5D3 (they are sent by the MPU during GUI mode switches)
Alex
QEMU: fix LV button code for 5D3
Alex
annotate_mpu_log.py: more output options (to stdout, to file, auto rename)
Alex
MPU spells: script to annotate logs with mpu_send/recv events (known MPU messages moved to known_spells.py)
Alex
Makefile: fix "make install_qemu CONFIG_QEMU=y" for minimal targets
Alex
VRAM: enabled workaround from 03c5f43 on all models (fixes Arkanoid, benchmarks and others on fresh startup in photo mode, without any images on the card)
Alex
Makefile: fix "make clean" for modules not enabled by default
Alex
Merged memory-backend into lua_fix (memset32 fix)
Alex
selftest: tests for model ID functions (is_camera etc)
Alex
is_camera: extended to allow checking DIGIC version e.g. if (is_camera("DIGIC", "5")) { ... }
Alex
menu: fix typo regarding short unpress events (side effect: short joystick press also moved the menu selection up on 5D3)
Alex
Memory backend: drop timestamps from history; show last 1024 events
Alex
Memory backend: show total allocations (number and amount), including untracked ones
Alex
Memory backend: allow using shoot_malloc as a last resort, even for small blocks; allow small blocks (smaller than minimum_free_space / 64) to break the minimum_free_space limit (until minimum_free_space / 4) fine-tuned until the old set of Lua scripts were able to run on 1100D without umm_malloc
Alex
Memory backend: a pointer to task names (rather than copying the full string) should be enough
Alex
Memory backend: renamed memcheck_mallocbuf to memcheck_entries
Alex
Moved memset64 and memcpy64 to bench.mo - simplified to accept only 32-bit aligned pointers - using regular memset for Magic Zoom - closing issue #1995
Alex
Memory backend: if shoot_malloc fails, try SRM next (poor man's autodetection, since we don't know how to query the available size in advance)
Alex
exmem: reworked shoot_malloc to handle large requests better - moved autodetection to dedicated functions (for both fragmented and continuous allocations) - autodetect the max available size for large requests (slower, but when it fails, it fails gracefully)
Alex
exmem: removed the "relaxed" checks introduced in 04f02a4 (not sure why they were needed; we'll find out if it fails)
Alex
exmem: speed-up shoot_malloc (1s timeout probably not needed)
Alex
exmem: do not keep track of full shoot memory allocations (allows reserving some memory in advance and allocating all the remaining RAM afterwards)
Alex
Memory backend: fix handling of untracked blocks (possible buffer overflow before this fix)
Alex
Memory backend: figured out why AllocateContinuousMemoryResource may crash with many small blocks (todo: figure out where to keep 89e3b12 or not; adapt tests if not)
Alex
Intervalometer: attempt to get sligthly better timing accuracy, to be tested http://www.magiclantern.fm/forum/index.php?topic=21617.msg197314#msg197314
Alex
Moved timer functions to timer.h (always included from dryos.h) Renamed get_ms_clock_value / get_us_clock_value to get_ms_clock / get_us_clock Replaced all hardcoded references to 0xC0242014 with GET_DIGIC_TIMER() ``` find . -not -path '*/\.*' -type f -name '*.c' -o -name '*.h' -exec sed -i 's/get_ms_clock_value/get_ms_clock/g' {} + find . -not -path '*/\.*' -type f -name '*.c' -o -name '*.h' -exec sed -i 's/get_us_clock_value/get_us_clock/g' {} + sed -i 's/\*…
Alex
Reworked get_ms_clock_value / get_us_clock_value / get_seconds_clock - only update the 64-bit us_clock on each call (overhead from ~ 4us reduced to less than 1us) - lower-resolution clocks are always derived from the microsecond clock and computed only on request - dropped get_ms_clock_value_fast
Alex
imath.h: fix comments for FMT_FIXEDPOINT*; added FMT_FIXEDPOINT6
Alex
QEMU: workaround to emulate io_trace (without it, many MMIO events are missed, apparently because of QEMU's TLB cache)
Alex
NotifyBox: log messages to QEMU console
Alex
GDB scripts: replaced *(int*)(x) with MEM(x) (for consistency with other ML code, and maybe slightly easier to read)
Alex
QEMU: experimental Q button emulation for 100D (not 100% sure about it, but seems to emulate the long Q/SET press correctly)
Alex
Fix compiling with CONFIG_DIGIC_POKE
Alex
Modules: fix enabling "long" modules when using config presets (issue #2789) to reproduce: arkanoid.mo -> ML/SETTINGS/MENU.KEY/arkanoid. -> file create error on exfat modules with shorter name: adv_int.mo -> ML/SETTINGS/MENU.KEY/adv_int.e -> it appears to work fine, but it's incorrect worst case: arkanoid.mo -> ML/SETTINGS/MYPRESET.NAM/adv_i -> it appears to work fine, possible name clash with other modules
Alex
shoot: attempt to make public photo capture functions thread safe, to some extent a bit of a hack; some serious rework needed to fix this properly at least it appears to fix http://www.magiclantern.fm/forum/index.php?topic=21590.0
Alex
Bracketing: debug messages for troubleshooting http://www.magiclantern.fm/forum/index.php?topic=21590.0
Alex
shoot: make the so-called remote_shoot always take pictures, not movies (moved movie functionality in lcdsensor/lightsensor - anything else broken?)
Alex
lens_take_picture: always wait until the image capture process starts (and optionally wait for it to finish)
Alex
Lua: fix camera.wait() not appearing in API docs
Alex
selftest: also test get_task_name_from_id, not just get_current_task_name (they use different Canon APIs)
Alex
Attempt to fix conflict between ML and Canon overlays on recent DIGIC 4 models confirmed on 1200D, likely applies to 1300D as well http://www.magiclantern.fm/forum/index.php?topic=12627.msg196304#msg196304
Alex
gui-common: remove outdated comment
Alex
Menu: some rough support for sumbenus where the initial field enables the entire group - the initial field should have the same .priv field as the master entry, and .select = menu_open_submenu - prevent graying out the field used for enabling, even if it gives the truth value for the master menu entry - do not print value by default for submenus (we already draw a forward sign)
Alex
gui-common: make translated longpress events (such as Q on certain models) available to other modules (tested with Lua)
Alex
Menu: refactored long-press checks with a common function and data structure (to be tested; may affect every single camera model)
Alex
Menu: use animation for all longpress handlers
Alex
Merged 100D_merge_fw101 into lua_fix (going to refactor the SET/Q button handling)
Alex
lens.h: some models have larger PROP_LV_LENS EOSM: 61; 70D/100D: 58; 5D3.123/6D: 56
Alex
Lens info: attempt to update outside LiveView, to be tested focus distance, focal length on zoom lenses etc are now updated every second credits Greg: http://www.magiclantern.fm/forum/index.php?topic=2864.msg169977#msg169977
Alex
lens_info: use lens_info.lens_exists instead of lens_info.name[0] (from manual_lens_info)
Alex
100D: attempt to fix Q/SET regression (tested in QEMU, unsure about the exact hardware behavior) http://www.magiclantern.fm/forum/index.php?topic=16040.msg196769#msg196769 also reduced long-press delay to 0.5 seconds
Alex
Merged allocate-raw-lv-buffer into lua_fix (minor; 5D3.123 fix)
Alex
Merged unified into lua_fix (DOF fixes)
Alex
Merged longpress into lua_fix
Alex
edmac.mo: simplified menu definition for log interval (using the new routines for rounding options)
Alex
Merged edmac into lua_fix
Alex
Menu: fine-tuned long-press indicator appearance - using filled circles - using a sine table to avoid roundoff errors
Alex
Merged unified into longpress
Alex
Menu: simple long-press indicator (animated)
Alex
EOS M: fix menu navigation; make sure the long-press code can be enabled on other models (to enable, define CONFIG_LONG_PRESS_SET_MENU in internals.h)
Alex
gui-common: moved button logging code at the top (to make sure all events are printed in all modes)
Alex
Raw backend: DEFAULT_RAW_BUFFER_SIZE for 700D and EOSM (thanks dfort)
Alex
mem.c: fix compiling for 5D3.123 (display buffer address depends on HDMI options)
Alex
Merged new_dryos_task_hooks into 100D_merge_fw101
Alex
100D: cleanup handling of the Q button (see b9e0b9e)
Alex
Merged new_dryos_task_hooks into lua_fix
Alex
Merged qemu into new_dryos_task_hooks
Alex
run_ml_all_cams.sh: fix QEMU_DIR once more
Alex
run_ml_all_cams.sh: fix QEMU_DIR
Alex
Merged allocate-raw-lv-buffer into lua_fix
Alex
Merged qemu into lua_fix
Alex
Menu: hack to allow browsing ML menu on EOSM and EOSM2 (requires CONFIG_QEMU=y)
Alex
selftest: EOSM takes the crown for the lowest amount of shoot_memory available (fragmented allocation can no longer be tested with hardcoded value)
Alex
Merged makefile-updates into qemu (also updated README regarding "make install_qemu" on modules)
Alex
QEMU: moved default installation directory to qemu-eos Rationale: user is likely to have another qemu directory, unrelated to ML (such as the vanilla qemu repo) Can be changed by setting QEMU_DIR, e.g. "export QEMU_DIR=qemu" before running install.sh will install QEMU in the old path To be thoroughly tested.
Alex
QEMU: trim HTML logs to 10000 lines if higher (very slow to render; also, at these sizes, browsing/grepping plain text is way faster)
Alex
Raw backend: 60D appears to allocate 28MB for the raw buffer
Alex
Raw backend: updated 5D3 hypothesis about Canon LV RAW buffer (todo: re-check 1.2.3)
Alex
Raw backend: attempt to autodetect Canon's raw buffer size Usage: - compile with CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP (config-defines.h) - open the console (Debug menu) and enable something that uses LiveView RAW features (raw video, raw histogram etc) - test by starting the camera in all video modes (photo, 1080p, 720p, crop, x5 etc) - take a screenshot or write down the console messages
Alex
Raw backend: fix compilation on very old models (without CONFIG_EDMAC_RAW_SLURP)
Alex
1100D: CONFIG_ALLOCATE_RAW_LV_BUFFER may not be needed, after all http://www.magiclantern.fm/forum/index.php?topic=1009.1450
Alex
Free Memory dialog: updated common addresses to allow dynamically allocated buffers (not just hardcoded ones); also show current RAW and BMP buffer(s), not just the YUV ones
Alex
Raw backend: 1100D also needs DEFAULT_RAW_BUFFER / DEFAULT_RAW_BUFFER_SIZE
Alex
Raw backend: 1100D needs CONFIG_ALLOCATE_RAW_LV_BUFFER after refactoring
Alex
Raw backend: use dummy DEFAULT_RAW_BUFFER_SIZE until the real size is found without this, most builds would be broken fixme: old models without CONFIG_EDMAC_RAW_SLURP are still broken
Alex
Raw backend: sync memory allocation routines with crop_rec_4k (squashed 8287b4f, 0ff9f1f, 3948408, d55423f, ebf206a, 3bc3637, cad72ea and 2bc5c3a, keeping only changes to raw.c)
Alex
mlv_lite, mlv_rec: dialog_refresh_timer_addr for 1100D (to be tested)
Alex
Merged unified into allocate-raw-lv-buffer
Alex
GUI: removed BGMT_Q_ALT to be tested on 1100D, 550D, 600D, 60D and also on recent ports (100D, 1200D, 1300D)
Alex
Merged new-dryos-task-hooks into lua_fix
Alex
selftest: reduced memory requirements to allow 1100D to pass the memory tests
Alex
1100D: raw skip offsets for LiveView
1497 commits not shown.