I am trying to run the spresense_gsm_fona_tutorial on the spresense which is connected to a FONA module.
When I run the application it often getting into the "Failed to turn on GPRS" error. And then a subsequent "Couldn't initialize HTTP request!" error comes out and nothing works.
I am debugging the issue at the moment. I have noticed if I at this point run the FONAtest module and try turning on/off the gprs with 'G'/'g' command from the serial console and then run the spresense_gsm_fona_tutorial application again, it starts working. At this point the issue is bit symptomatic and trying to do a characterisation of the issue. I thought to share with you in case you have ever experienced something like this.
I have attached the log file. I have modified the below to incorporate the APN name and the dweet name as below in the code:
@david You'll never believe this. But today it's not working again! I give up. Back to ssdp:all.
...or maybe not.
Interestingly, if you replace "ssdp" with any word you get even better results than ssdp:all (i.e. less devices responding), e.g. "ST: blah:all\r\n". And the Sony STR-DN1080's DIAL service does respond to this. LOL! This makes processing the results a lot quicker, especially if you have a lot of devices responding to ssdp:all and you are querying every device's device-desc.xml file for the model name. This might help someone.
Edit: actually ST: urn:dial-multiscreen-org:device:dial:1 might be safer.
I looked into this and it sees you're right about the arduino library missing the absolute exposure time set function.
I have not found a project using manual exposure time but I looked into the Nuttx driver handling for the isx012 camera chip. Extracting information from the driver I added a function to the Camera driver:
Looking at the schematic of the main board you can track the GNSS_1PPS_OUT signal from the CXD5602 chip on the main board out via the B2B connector to the extension board where it then ends up on something that looks like a test point called CL1. The CXD5602PWBEXT1_part_layout of the extension board will help you locating this point.
15 bit PreCounter that counts the 32,768Hz clocks, increments every 1/32768 seconds, overflows every second.
32 bit PostCounter is incremented every second. A 32 bit counter can have a maximum value of 4294967295. To translate this to a human understandable time gives me something in the range of 150 years before it will overflow. 0xFFFF / (3600 x 24 x 7 x 4 x 12) = 147,95 years
(32 bit max val / (sec/h x h/day x days/week x weeks/month x months/year))
I know that I didn't answer your question but I doubt that this will be an issue.
"case 10 bit 4k90fps via 4 lane MIPI CSI-2" , that's pretty massive!
I can't really get involved in a general question like this too much, but I guess that the electronics forum at stackoverflow might help you.
Can I ask what you are building that needs this kind of performance?