VexCode (non-Pro) missing support for SD Card operations

I am frustrated by the elimination of the SD Card access that is supported in VexCode Pro, but not in the standard VexCode. Use of the SD card to store parameters and measurements observed during a test execution can provide extremely valuable information regarding the conditions exsting in the robot during the test. The loss of this capability from the pre-VexCode distributions is painful. Ideally this functionality could be provided in VexCode Block/Text. Alternatively, is there a hook or wrapper that would allow VexCode V5 Block/Text programs to access the functionality of the API of VexCode V5 Pro?

The text API is the same for VEXcode V5 and VEXcode V5 Pro. Nothing has been removed.

image

you can also use stdio functions if you want to

7 Likes

Thank you jpearman.

If I try to invoke Brain.SDcard.isinserted() from Python I get an error that “Brain has no SDcard member” and there is no auto completion or option under the <>Code tab that shows functions for brain.sdcard or similar.

Is there a reference for writing a wrapper to be able to call the C++ API from the Python or block modes?

Thank you again for your quick reply.

Python is different, IIRC you would use brain.sdcard.is_inserted()

not everything has auto-complete, only the most commonly used functions.

Python and C++ are completely separate, but almost all C++ classes have a Python equivalent (using Python style). The easiest way to learn and play with the Python API is to use Python REPL (probably need to close VEXcode these days to access that).

4 Likes

Hi James,

When I use

brain.sdcard.is_inserted(), I get the compilation error:
main.py
Instance of Brain has no ‘sdcard’ member (31, 7)

Also, Is there a way in block mode that I can invoke a call to Python library code without entering the whole project directly in Python? I have a mixed class of Python and Scratch coders, so the ability to provide key extensions available to Python coders also to the Scratch coders is important.

Thank you again for your help.

Steve

sigh, that’s a linter error, you could “download anyway” or add indication to pylint to ignore the error message. @jpalnick seems like my stubs have that, something we need to check.

# Begin project code
# pylint: disable=maybe-no-member
brain.sdcard.is_inserted()

Not at this time.

2 Likes