Skip to content

First Release #40

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 162 commits into from
Aug 5, 2025
Merged

First Release #40

merged 162 commits into from
Aug 5, 2025

Conversation

sfe-SparkFro
Copy link
Collaborator

Lots to review 😉

Depends on #38

Needed for some OpenCV functions
Converts to ndarray_obj_t to handle all possible input types
Some OpenCV functions need these
Also improve conversion to cv:Size
For some reason, putText() doubles the flash requirement, from roughly 2.4MB to 4.8MB.
The RP2350 linker script hard codes the flash size at 4MB, so have to modify that to get it to link properly.
Even after that, putText() had a weird output.
Commented out for now.
These already exist in ulab numpy as minimum() and maximum(). Removing helps keep the firmware a bit smaller without losing any functionality.
HoughLinesP uses int32 for the output array, which ulab currenltly does not support. Commented out for now.
Mostly just for compatibility with existing OpenCV code
Based on feedback in #7
Needed for new ST7789 implementation to convert other dtypes
Create helper functions for imshow() (could move these to a generic interface class for other display drivers to take advantage of)
Move machine dependency from example to display driver
Add extra checks for edge cases
Remove unused functions and arguments
Add clear() method
Fix imshow() with float images to clip instead of wrap the range 0-1
Other minor optimizations
Add imshow() and waitKey()
@sfe-SparkFro sfe-SparkFro added this to the Initial release milestone Jul 24, 2025
Rename "test_image" to "images" since they're already in the examples folder
Updated paths in imread imwrite example
Fixed cv2_hardware_init/__init__.py to use full path to new example splash image
Replaced by splash.png
18c4039 changed the examples folder name
Add splash image
Update Quick Start section now that examples are frozen into the firmware
Condense example code snippets
Re-organize supported hardware list as tables with emojis
Uncomment drive functions
Also rename to "touch_screen_drive"
@gigapod
Copy link
Member

gigapod commented Jul 31, 2025

Some general Comments

Branding

How is branding being reflected?

Package

For the directory structure for our micropython code?

Should cv2_drivers be renamed redvision/drivers or something like this?

I would expect the end user to do something like this to get going:

import redvision as rv
# do amazing things
rv.do_amazing_things(mydata)

Package / Firmware Version

And for the firmware version -

  • How do we add Red Vision to the version string for the python binary?
  • A version should be added to the redvision package
    • maybe this is somehow associated with the above python version?
    • Bottom line - need:
      • a method so executing pythong can 1) determine redvision is available (catch load exception)
      • A method to get the version of the redvision package

Drivers

  • Drivers should have a version string/value as part of the object.
  • Define an interface for the version and make this part of all the drivers - it would be a base class
    • Could include version, name, description ...

Refactor for #42
Also move submodules out of src directory
@sfe-SparkFro sfe-SparkFro marked this pull request as ready for review August 2, 2025 00:32
Copy link
Member

@gigapod gigapod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good - thank you!

@sfe-SparkFro sfe-SparkFro merged commit adb5ef0 into main Aug 5, 2025
@sfe-SparkFro sfe-SparkFro deleted the features_for_launch branch August 5, 2025 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants