Welcome new user! You can search existing questions and answers without registering, but please register to post new questions and receive answers.

"FTL Module::process: Not implemented in this module" when using Serial USB

0 votes
I have been trying to get Serial output from the JeVois using the sendSerial() command. I have a simple "sendSerial(std::to_string(i))" where i is a variable incremented every iteration, which does not get sent through Serial.

I run "setpar serout USB" and "setpar serlog USB" to configure sending Serial to the USB, and "setmapping2 YUYV 640 480 [FPS] [Vendor] [Module]" to set the module. However, when I run "streamon", I get the following error:

FTL Module::process: Not implemented in this module

Instead of the expected numbers coming from the variable 'i'

I notice that my code, based off of SampleModule.C, has a "virtual void process()". Is the fact that it's a "virtual" process an issue? How should this be resolved?

I assume due to the error, it's never running the sendSerial() command. Are there any other things I need to set up in my module?
asked May 12 in Programmer Questions by unswniarc (340 points)

1 Answer

+1 vote
 
Best answer

Great question! Have a look here: http://jevois.org/doc/classjevois_1_1Module.html

There are 2 versions of process(), one with video output over usb, and one without. When you do setmapping2 you tell jevois that you will not have video output over usb. So process(inframe) will called, not process(inframe, outframe). You should hence put your code inside an override of process(inframe)

For an example module with both versions see https://github.com/jevois/jevoisbase/blob/master/src/Modules/DemoQRcode/DemoQRcode.C or other modules in jevoisbase.

Virtual is normal, it just means derived classes will override this function safely.

answered May 12 by JeVois (20,780 points)
selected May 13 by unswniarc
...