Software release version 2.5.2
- Added auto-exposure capabilities.
- WebUI based network configuration support.
If you are updating from 2.4.1g6 or earlier, you will need to perform a factory reset after the update.
Build host: linux-vm Built by: tfischer Build date: 20220414215459 Build tag: ssc1 Build hash: 7e9aa737 Build version: v2.5.2rc32
Python class exposing edgertronic CAMAPI via HTTP: v2.5.2rc30 documentation
Improvements since software release version 2.5.1:
- Auto exposure - Automatically adjusting the exposure (shutter speed) to maintain a correct exposure while the scene changes in brightness (i.e. going from sunny to cloudy). Since the exposure can not be longer than ~1/frame_rate, the user will need to preset ISO, frame rate and lens aperture to allow a correct exposure for the lowest anticipated light level.
- Improved image quality for SC2, SC2+, and SC2X. These are proprietary changes giving us even more of a competitive advantage. If your use case needs a more detailed description, please contact us.
- WebUI network configuration - A new tab in pro settings mode allows WebUI based camera network configuration including IP address, DNS server address, and NTP server address.
- Genlock terminology change - The documentation, WebUI, and camconstants.py enumeration text have been modified to refer to Genlock source camera and Genlock receiver camera. CAMAPI remains backwards compatible.
- The camera name, if set, shows up in the browser tab. This is helpful if you have multiple cameras; enabling you to identify each camera by mousing over the browser tab. This feature was requested by a customer.
Improvements since software release version 2.4.1:
- Multi frame rate capture - you can configure the camera to have a slower frame rate for the pitcher wind-up and follow through while having a high frame rate for analyzing the actual pitch. This reduces the time to save a video, the time to review a video, and also creates smaller video files.
- Background save LIFO - you can choose to save the oldest capture first (FIFO -- first in first out) or save the most recent capture first (LIFO -- last in first out).
- PocketRadar© support - camera can power the PocketRadar via the USB connect and PocketRadar can trigger the camera. PocketRadar configuration through the camera's web user interface is supported.
- When you browse to the camera, live view is displayed instead of the settings modal. This change was made because so many edgertronic cameras are now under computer control and when you close the settings modal, it changes the camera state (which can cause the controller computer to get confused).
- Camera name support - you can assign a human readable name to each camera. The name shows up on the web UI. You can include the name in the notes overlay and in the video file name.
- Recenter field of view - digital pan and tilt so you can adjust the camera's field of view without having to physically touch the camera. Useful when a camera is mounted in a stadium or on a pole.
- Rename last video - Allows captured video files to more easily integrate into video analysis software systems.
- Factory reset a camera by sending a command over the network.
20210611094523 Factory reset may be required after camera software update
After updating to v2.5.1 or newer from a version v2.4.1 or older, you may need to do a factory reset after the update. The camera remembers all your customized camera settings during the update process. Somehow one of those settings is not being accepted by v2.5.1 or newer. Note that a factory reset will erase any custom interfaces file with a fixed IP address other than 10.11.12.13, which may cause you to temporarily lose your connection to the camera until you figure out which address is being used by the camera.
This is due to unmodified default configuration files being saved which keeps newer software releases from using their updated default configuration files. The defect was fixed by deleting unmodified configuration files before the new software runs, forcing the new software to install its default version of the configuration file. The issue caused problems due to an update to the lighttpd web server configuration file to work around an ipad security change.
20220413093412 Auto exposure image quality problem
Around one out of ten times after a full camera calibration, the image quality is bad due to an auto exposure defect. Thanks Nick and Brian for reporting this defect. The defect existed in v2.5.1rc1 through v2.5.1rc31. You can work around the defect by forcing another full camera calibration (such as a small change to the ISO value).
20220214111512 Cross-Origin Resource Sharing (CORS) not working
Software release v2.5.2rc27 broke CORS, which was fixed in v2.5.2rc28. The camera now ships with a CORS test file that you can download from the camera via http://11.12.13/static/host/cors.html . The test file needs to be first downloaded to your computer, then use your browser to open the local cors.html file that you downloaded. Enter the edgertronic camera's IP address you want to test and press the Run CORS test button.
20211023094302 certain camera settings did not capture any post trigger frames
You always have to capture at least one post-trigger frame, meaning the trigger frame. Adjusted the calculation for pre-trigger, post-trigger1, and post-trigger2 frame count so there is at least 1 post-trigger1 frame captured.
20211030140344 total saved videos isn't updated in the video overlay
If you have the total saved video count in the notes overlay in review before save, the video count wasn't being updated as you saved videos. It did catch up once you went back to the running state.
20211107115832 CAMAPI rename_last_video() does not expand parameters
If you pass in a filename like Boddy_K_999999_Bullpen_Seattle_&d_&T_&a_&b_99.2MPH the filename parameters are not properly expanded. Defect was fixed by properly expanding parameters.
SDK API changes
- New configuration dictionary key 'auto_exposure' whose value is an enumeration. This key is supported by CAMAPI methods configure_camera() and run(). Since auto-exposure effects the video frames as they are captured, trying to change the the auto_exposure key via CAMAPI methods reconfigure_run() and configure_save() has no effect.
- CAMAPI method rename_last_video() now uses POST instead of GET, accepts a dictionary as a parameter and returns a dictionary, which included an 'err' key with CAMAPI_STATUS_* indication. This allows both the actual filename used to be returned along with a outcome indication.
- hcamapi enhancements
- added auto exposure to METADATA_FILE_LOOKUP_TABLE. It will be added in the next release candidate (rc).
- added up to 3 retries when sending a command via _fetch_target. This handles connection errors, which were keeping the endurance tests from running long term.
- made the hcamapi module more python3 friendly.
- improved the API documentation for reconfigure_run(), trigger(), configure_save(), and rename_last_video().
- added support for net_get_configuration(), net_set_configuration().
- API _parse_metadata() now uses the terms genlock 'source' and genlock 'receiver'.
- updated fetch_remote_file() and display_remote_file() to use python module requests, instead of urllib.
- Added example HTML and python files showing how to add content to the WebUI. The files can be retrieved from the camera via http://10.11.12.13/static/sdk/app_ext.
- In the metadata file generated for each saved video, the line in the text file that refers to the genlock setting value now uses the terms source and receiver. If you use the metadata file parser in hcamapi.py, it has been updated to handle these terms. If you created your own metadata file parser, you need to update it to handle the new genlock setting value terms.
- After running v2.5.2, when you do the next update, the camera will remember the previous software version prior to doing an update. This feature will be used for the anticipated, but not yet implemented, WebUI based camera software update support.
- Added remove recovery URL http://10.11.12.13/factory_reset_keep_ip which allows a work around if you find after the update the camera needs a factory reset, but you don't want to lose the network settings.
- Enabled busybox nslookup.
- When networking is reconfigured via WebUI, we reboot the camera if the IP address changes. This should not be necessary. There is currently some dependency on GStreamer (which isn't using IP networking) that fails when the IP address changes. This issue should get resolved when the camera is upgraded to GStreamer 1.14 in a future release.
- The lighttpd web server now marks the necessary responses with Access-Control-Allow-Origin to allow cross-site support.
- When a software update fails, the lighttpd web server provides information on what went wrong. This contents of this information has been expanded to enable better customer support.
- General improvement in logging python errors when invoking CAMAPI. In theory you should not be able to invoke a python error in the base camera code, but if you find as a defect, providing a helpful report will be easier.
- Update tarball filename now includes the human readable software version number.
- The /image2 URL to grab the current JPG live view image was changed to a new URL /images/image2.jpg. This change was done to ease software development, but had the unintentional consequence of breaking some host applications.
- 83 files changed, 5,100 insertions, 1,937 deletions