how do you set the cover of a program to be a different picture?
but there doesnt seem to be a way to do it in VEXcode V5 pro.
how do you set the cover of a program to be a different picture?
but there doesnt seem to be a way to do it in VEXcode V5 pro.
I asked this question a couple years ago, and the answer was you can’t. I haven’t seen any indication that this has been added since then, but @jpearman will know…
yea, we sort of changed out minds on this one. We show different icons based on the program source, but don’t allow selection by end user. There is an unofficial way to change the icon that was posted a while back, but the choices are so limited it’s really not worth messing with it, all you would do is confuse tech support of you changed, for example, the icon we use in VEXcode for Python to the PROS icon or something.
So there are no plans to implement this in the future then, correct?
There is a guide for doing so that was posted a while back.
perhaps one day, but it’s not planned at this time.
The icons are part of vexos, so to be able to select alternatives they would first need to be added to vexos as part of an update. There are no plans (and never have been) to allow an actual png or jpg image to be downloaded, all that was to be offered was selection from a preset list.
Sorry to bug you @jpearman , but I just had a question:
Are there any plans to add any extra functionality to the controller or brain screens?
It was mentioned previously that adding widgets to the controller screen was not a priority:
Setting program logos has been mentioned in this thread.
Granted, the screens already have a good amount of power to them. The text interface for the controller is useful, and the brain screen has a powerful number of functions for drawing. You’ve demo’ed LVGL in VexCode. I was really just curious if there were plans to add any more functionality.
regarding widgets on controller screen.
There has been no recent discussion about this, it’s still low priority.
Just as explanation, it seems a simple request but there would need to be a whole bunch of things that would need to be done.
so a whole bunch of work for firmware and App developers, it takes a lot of time.
Are there any plans to add any extra functionality to the controller or brain screens?
What would you want on the brain screen ?
In terms of dashboards, every one we add gets a little more complex and we have been back to revisit some of the early ones and refresh them. Here is the latest GPS dash.
For user programs, that’s up to you. I had expected someone by now to provide some nice C++ classes on top of VEXcode to draw standard useful things like buttons and gauges, but I’ve not heard of any. LVGL is ok, but steep learning curve and every version they release seems to have breaking changes. I’ve not updated my projects for LVGL 8 yet, they changed their business model a while back and seem to release far more often now, it’s hard to keep up.
Is there documentation on how one would create a library in VEXcode and then include that library in other projects?
It’s pretty straight forward in VEXcode V5 Pro, but I guess that assumes you understand makefiles etc. and how gcc links libraries. (you will need to show build files in the preferences dialog).
to build the library, with a new project created I would remove all VEXcode generated files and create my own source and headers, for example, lets say I created a file demolib.cpp and demolib.h in src and include folders. project may look like this.
(I’ll attach projects at the end)
add code to demolib.cpp, there is no need for a main function.
now change the makefile to build a static library.
add this line to name the library
# override default library name
PROJECTLIB = libdemo
then change the build target from an executable to a library here.
# build targets
all: $(BUILD)/$(PROJECTLIB).a
that’s all that’s required, build the project and libdemo.a will be created in the build directory.
To use the library in another project, copy the header into the include directory, copy the library (libdemo.a) into a suitable place, I made a “lib” folder in the new project and placed it there.
project structure will be as follows.
include the header and use library functions, in this case I defined one function called drawRoundRectangle (no particular reason for that function, just some old code I had).
now the project will still not build as we have to tell the linker to link the library
open mkenv.mk and edit to add the new library (add -ldemo)
# libraries
LIBS = --start-group -lv5rt -lstdc++ -lc -lm -lgcc -ldemo --end-group
and tell the linker where it is by adding the folder here. (add -L"lib")
TOOL_LIB = -L"$(TOOLCHAIN)/$(PLATFORM)/gcc/libs" -L"lib"
now project should build and download (unless I forgot something)
note: these projects were saved with an old version of VEXcode, do not update them when asked !
V5_staticlib.zip (11.3 KB)
V5_demo.zip (13.3 KB)
for a more complex example, see my LVGL demo here.
This builds the lvgl library and also some test code for the library in a single VEXcode project by making changes to the build files.