Asked
— Edited
What are you guys that are using the Rock Pi X doing for standby power for the COMS when it's powered down?
The system clock wont run without a 3 volt backup battery attached. The Rock Pi does have a port on the back of the board to plug a XH1.25mm battery connector into. I've been looking on Amazon and find the proper battery but can't figure out if they have the proper connector.
I'm thinking this one will fit. Looks right: Amazon CMOS battery
Ugh! I can get these connectors but there is a 4 to 8 week shipping time from China. I'm tempted to carefully solder on a pigtail to the existing port and put my own connector on it. What's the worst that could happen? LOL
Shipping from AU is just as long. However the sellers on Ebay AU wont ship to US.
As mentioned above I want to have a COMS battery attached to my Rock Pi X to keep the system time set so ARC will start up after Win 10 boots. However with a COMS battery attached to the SBC it will not automatically boot and I need to manually press the power button on the board. The SCB has a separate port to attach an external power button along with a actual button on the board. without a CMOS battery and once Windows was active, ARC was not automatically starting. I was getting an error message because the system clock was off after booting.
@Nink suggested a software fix in post #4 to delay ARC from starting until the clock was updated after Win startup. However I tried working on this all day yesterday and I was not liking the results. Between Rock Pi X's slow boot into Windows, the slow setup of Windows itself, how long it takes Win to update the clock, then delaying ARC from starting till after all that was done (not to mention the slow load time of ARC itself), it was just taking way too long. By the time the robot was up and running I was pulling my hair out. LOL. I tried a few tricks I found on the internet to get Win to boot faster and update the clock faster but nothing seemed to help much.
In my last post I said I was ready to do a machinal fix and simply solder a pigtail onto the external power button port to allow me to attach a time delay relay to emulate a physical button push. I've decided to follow this path but first try something less invasive then soldering a pigtail onto this little SBC. I'm afraid the extra heat will damage it or I will have trouble being able to cleanly solder onto the those little header pins. Here's my plan:
*With an Exacto knife I'll carefully remove the plastic female JST mini XH 1.25mm female housing from around the header pins for the external power button on the SBC. *Then I'll get a more commonly found 1.25mm male connector. Or maybe just buy a common COMS battery with any 1.25mm connector already on it like pictured in post #1. Then I can just cut off the wire and it's connector and use that. *I can then simply slide the common 1.25mm male housing onto the now bare header pins. *After the connection is made I'll hot glue over the connection. This will anchor and secure the connection and attached wires to the board.
On the other side of the wires I plan to connect a neat little Time Delay Relay I found on Amazon. When the robot is powered up It will close the relay for 3 or 4 seconds to start Win boot up when 12vdc is applied from the robot's power system. The time delay is adjustable along with if I want it to close at powerup with a delay then open or delay then close for a set time. With the setting of close then open after a delay this will be the same as me manually pushing the power button on the SBC to get it to boot. I'll keep you all posted with pics if I can. Here's the relay:
[url=https://www.amazon.com/gp/product/B07BT25J52/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1]12V Time Delay Relay Module
I haven’t tried this but seems logical work around, try the following with admin priveledges create a batch file in the ARC by Synthiam directory or add ARC directory to your path called arcstart.bat @echo off date < date.txt time < time.txt ARC.exe
now put batch file in your windows task scheduler to start immediately. You will probably have to change user account control settings to never notify so it doesn’t ask you to click yes every time.
One other suggestion is ARC is modified to remove this dependency. Synthiam gets date time off a Internet time server they control before looking locally and then starts arc. This way windows doesn’t need to wait for the NTP server to set the date time.
Why would synthiam want do this? Well it would ensure people are not just freezing the date on their robots to use ARC for free. Every time it boots it checks a synthiam time server. If it can’t reach the server it uses local date time. Eventually the robot will connect to the internet and check real date time and expire software.
OK just wandered over to a desktop and tried this. I created a file called time.txt and date.txt with current date and time
time.txt 12:54:58.61
date.txt 2022-04-26
and then a batch file called arcrun.bat date < c:\users%username%\date.txt time < c:\users%username%\time.txt CD "C:\Program Files (x86)\Synthiam Inc\ARC by Synthiam" start ARC.exe pause exit
and then added arcrun.bat to my task sceduler with run with highest priveledges seemed to work but I have a CMOS battery in desktop, did not try rock pi as it is in a robot at moment
@Dave.
Depending on where you have the rock PI x mounted in your B9, maybe use a tube with a stiff pushrod inside the tube fixed on the out side of you robot.
I’m thinking of trying that when my parts arrive on my robot. Just a thought.
Thanks Nink for all the hard work. I'll give all this a try tomorrow and let you know how it goes.
Merne, Thanks for the suggestion but no, heck no, no, no and he*l no. LOL. I will not stick a rod into my robot to make it boot. You're a funny guy.
A manual pushrod kinda defeats the purpose of robotics anyway. Like putting a crank on the front of your car to get it to start. LOL.
Good Luck Dave. If it does work you could probably create a second batch file and put in task scheduler that runs after about 10 minutes so you always have a fairly current date time. example setdate.bat echo %date% > c:\users%username%\date.txt echo %time% > c:\users%username%\time.txt exit
Alternatively and this would be a lot easier and always have correct date time. I just googled and it looks like there is an open NTP server that you could manually call and use in a batch file that will get and set current date of time. https://www.pool.ntp.org/en/use.html runarc.bat w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" CD "C:\Program Files (x86)\Synthiam Inc\ARC by Synthiam" start ARC.exe exit