ChrisDick / StarPi

Raspberry Pi telescope server for Stellarium
GNU General Public License v2.0
29 stars 4 forks source link

Active Project? #1

Open ccmehil opened 2 years ago

ccmehil commented 2 years ago

I've spent days hunting for a nice RPi project that would display my coords from a 3 axis Accelerometer inside of something like Stellarium. Just interested in the "Push To" aspect not the telescope motorised control. I've come across yours and was wondering about the config file. Before I tinker and break it I thought I would ask if there is an example one? Or if I've misunderstood the project and this won't just show me where my telescope is pointed in Stellarium?

ChrisDick commented 2 years ago

Hi, yes this is an active project, but it is on the back burner a little. The idea behind the config file was to support multiple accelerometers and magnetometers, although I did remove that to concentrate on one device for now. It does need both accelerometer and magnetometer as well as a GPS to calculate the RA and Dec to push to Stellarium. The code to do the push to is a C++ version of an example. If you have a look at the history, there's a log file for debugging and some code I removed that simulates data by slewing to the target set by Stellarium. If your interested, I have a project page on hackaday.io (/project/10181-starpi) Is there a particular accelerometer that you want to use?

ccmehil commented 2 years ago

I have the MPU9250 module right now so was hoping to just use that.

ChrisDick commented 2 years ago

the MPU9250 should work the with the MPU9150 driver, if you revert the files in Software/Src/I2Cdevlib/Pi/MPU9150/ and change the includes and Accel/Magnetomometer objects ( and maybe my spelling..) over to the MPU9150 the i2cdevlib should be able to do the rest.

ccmehil commented 2 years ago

Install is running. I'll let you know what happens.

ccmehil commented 2 years ago

That did not really work so well. If I have some time I may try and see if I can find those files and directories in your latest code vs the version I took with the MP9150 files in it.

CMake Error: The source directory "/home/pi/indi/libindi" does not exist. Specify --help for usage, or press the help button on the CMake GUI. make: No targets specified and no makefile found. Stop. make: No rule to make target 'install'. Stop. cp: cannot create directory './3rdparty/indi-starpi': No such file or directory CMake Error: The source directory "/home/pi/indi/3rdparty/indi-starpi" does not exist. Specify --help for usage, or press the help button on the CMake GUI. make: No targets specified and no makefile found. Stop. cp: cannot stat 'indi-starpi': No such file or directory cp: cannot stat './../../3rdparty/indi-starpi/indi_starpi_sk.xml': No such file or directory CMake Error: The source directory "/home/pi/indi/3rdparty/indi-gpsd" does not exist. Specify --help for usage, or press the help button on the CMake GUI. make: No targets specified and no makefile found. Stop. make: *** No rule to make target 'install'. Stop.

ChrisDick commented 2 years ago

If you don't need the indi driver, which you don't for Stellarium, you can remove it from the install script. this is after StarPi has installed, so it may be worth giving it a try. did you edit the config before installing?

ChrisDick commented 2 years ago

Which version of Pi and OS are you using? I'd like to recreate the indi issue so I can fix it.

ccmehil commented 2 years ago

Raspberry PI Zero WH, just did a new install of Rasbian Lite with all the updates, etc.

ccmehil commented 2 years ago

Yes I changed the config to choose the MPU9150 file instead. Was only 2 lines though I think.

ChrisDick commented 2 years ago

did it generate a StarPi executable in the Software/Out folder?

ccmehil commented 2 years ago

No Software/Out folder exists.

ChrisDick commented 2 years ago

I've setup a pi Zero and have tried the install script myself. There's been a few things that StarPi is built on that have changed since I last did anything with it. The Wiringpi library is no longer supported, so I've been changing over to the bcm2853 library instead. this also needs the I2Cdev library to be updated too, but that has raspberry pi version now. the gpsd interface isn't working either, that's next. I've had a look at the MPU1250 and it looks like a good device with the DSP on board, so i've bought one and will port the I2Cdevlib arduino version over to the pi and test it, should arrive at the weekend.

ccmehil commented 2 years ago

Look forward to giving it another go!

ChrisDick commented 2 years ago

I've fixed a few things and added the MPU9250 driver, but I've not been able to test it fully yet as my GPS can't get a signal. I've been using the indi driver with Ekos to see when the GPS signal is good, but this isn't working yet. Going to fix the indi driver next and then see how the MPU9250 is working. I'm expecting to have to tweak the scaling and the direction config. I've made the MPU9250 the default config. The install script isn't tested yet, but I see no reason it shouldn't work if you want to try it.

ccmehil commented 2 years ago

Absolutely awesome! Getting closer!

Install seems to work great. Trying to run the GPSD command I get this.

sudo gpsd -D 5 -N -n /dev/serial0 gpsd:WARN: This system has a 32-bit time_t. This gpsd will fail at 2038-01-19T03:14:07Z. gpsd:INFO: launching (Version 3.22) gpsd:IO: opening IPv4 socket gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use gpsd:ERROR: maybe gpsd is already running! gpsd:IO: opening IPv6 socket gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use gpsd:ERROR: maybe gpsd is already running! gpsd:ERROR: command sockets creation failed, netlib errors -1, -1

SO I had to disable GPSD from the system side so I could then reboot and manually start it.

systemctl stop gpsd.socket gpsd.service
systemctl disable gpsd.socket gpsd.service

I'm able to get the one session with GPSD running.

gpsd:WARN: This system has a 32-bit time_t. This gpsd will fail at 2038-01-19T03:14:07Z. gpsd:INFO: launching (Version 3.22) gpsd:IO: opening IPv4 socket gpsd:IO: opening IPv6 socket gpsd:INFO: listening on port gpsd gpsd:PROG: NTP: shmat(0,0,0) succeeded, segment 0 gpsd:PROG: NTP: shmat(1,0,0) succeeded, segment 1 gpsd:PROG: NTP: shmat(2,0,0) succeeded, segment 2 gpsd:PROG: NTP: shmat(3,0,0) succeeded, segment 3 gpsd:PROG: NTP: shmat(4,0,0) succeeded, segment 4 gpsd:PROG: NTP: shmat(5,0,0) succeeded, segment 5 gpsd:PROG: NTP: shmat(6,0,0) succeeded, segment 6 gpsd:PROG: NTP: shmat(7,0,0) succeeded, segment 7 gpsd:PROG: successfully connected to the DBUS system bus gpsd:PROG: shmget(0x47505344, 24232, 0666) for SHM export succeeded gpsd:PROG: shmat() for SHM export succeeded, segment 8 gpsd:INFO: stashing device /dev/serial0 at slot 0 gpsd:PROG: no /etc/gpsd/device-hook present, skipped running ACTIVATE hook gpsd:INFO: SER: opening GPS data source type 2 at '/dev/serial0' gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: Probing "Garmin USB binary" driver... gpsd:PROG: Probe not found "Garmin USB binary" driver... gpsd:PROG: Probing "GeoStar" driver... gpsd:PROG: Sent GeoStar packet id 0xc1 gpsd:IO: SER: => GPS: 5053474700c100010000000050924746 gpsd:PROG: Probe not found "GeoStar" driver... gpsd:PROG: Probing "Trimble TSIP" driver... gpsd:INFO: SER: speed 9600, 8O1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: Probe not found "Trimble TSIP" driver... gpsd:PROG: Probing "iSync" driver... gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:IO: SER: => GPS: @@@@\x0d\x0aMAW0C0B\x0d\x0a gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=1*64\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: Probe not found "iSync" driver... gpsd:PROG: no probe matched... gpsd:INFO: gpsd_activate(2): activated GPS (fd 6) gpsd:PROG: NTP:PPS: using SHM(0) gpsd:PROG: NTP:PPS: using SHM(1) gpsd:PROG: PPS:/dev/serial0 chrony socket /run/chrony.serial0.sock doesn't exist gpsd:PROG: KPPS:/dev/serial0 checking /sys/devices/virtual/pps/pps0/path, /dev/ttyS0 gpsd:INFO: KPPS:/dev/serial0 device not found. gpsd:WARN: KPPS:/dev/serial0 kernel PPS unavailable, PPS accuracy will suffer gpsd:PROG: PPS:/dev/serial0 thread launched gpsd:INFO: PPS: activated /dev/serial0 ntpshm_link_activate(): Clock gpsd:INFO: running with effective group ID 20 gpsd:INFO: running with effective user ID 109 gpsd:INFO: startup at 2022-02-05T23:18:36.000Z (1644103116) gpsd:CLIENT: => client(0): {"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14}\x0d\x0a gpsd:PROG: checking client(0) gpsd:INFO: detaching (sub 0, fd 7) in detach_client gpsd:CLIENT: <= client(0): error read gpsd:CLIENT: => client(0): {"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14}\x0d\x0a gpsd:PROG: checking client(0) gpsd:CLIENT: <= client(0): ?WATCH={"enable":true,"json":true};\x0a gpsd:PROG: device 0 (fd=6, path /dev/serial0) already active. gpsd:CLIENT: => client(0): {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/serial0","activated":"2022-02-05T23:18:36.496Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00}]}\x0d\x0a{"class":"WATCH","enable":true,"json":true,"nmea":false,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false}\x0d\x0a

In the next session running

cd ~/StarPi/Software sudo ./Out/StarPi 10001

This gets me:

Calibrations loaded Listener on port 9999 Waiting for connections ... New connection , socket fd is 6 , ip is : 192.168.86.39 , port : 56579 Adding to list of sockets as 0

Using Sky Safari Plus 7.0 the INDI connection does not work but the "other" connection does in other you need to choose a mount and telescope.

That one reconginzes the connection but will just disconnect where as the INDI does not reconginze the connection at all this is on the default 7624 port or on port 9999 which the output gives me the impression it is running on.

ccmehil commented 2 years ago

With INDI in Sky Safari Plus 7.0

New connection , socket fd is 6 , ip is : 192.168.86.39 , port : 56619 Adding to list of sockets as 0 Host disconnected , ip 192.168.86.39 , port 56619

Sky Safari says "Connected to INDI server but could not communicate. Please check your server setup.

I'm going to try Stellarium next, but I think that for Mac users does not allow the Telescope connection. Will check.

ChrisDick commented 2 years ago

I found the issue with the indi driver, just pushed it. if the indi-core built ok just run the indi-starpi part of the script, i did it manually in ~/StarPi/Software/indi/indidrivers/build/indi-starpi. Then start with: indiserver -v indi_starpi indi_gpsd indi-core took a couple of attempts. I've just setup a fresh install to test the install script.

ccmehil commented 2 years ago

Let me pull the whole thing again, for me ~/StarPi/Software/indi/indidrivers/build/indi-starpi is not there but ~/StarPi/Software/indi-starpi was.

ccmehil commented 2 years ago

Is there a way to trigger the build for the Indi-core?

ChrisDick commented 2 years ago

yes, if you edit the install script and remove the comments after #indi: to the note at the end it should compile the core, starpi and gpsd. I'm running the script like that now, found still have a compile issue with starpi, just pushed the fix, but not tested it yet.

ccmehil commented 2 years ago

It's running now, found it in the install.

ChrisDick commented 2 years ago

great, the indi core takes a long time for me to install. I'm planning on looking at using apt, but didn't work earlier.

ChrisDick commented 2 years ago

it's failed to find cmake, even though it's in the script. have installed the package and am trying again.

ChrisDick commented 2 years ago

looks like it doesn't like the multiline apt-get command. will fix and push.

ChrisDick commented 2 years ago

the compile issue was caused by apt not working. have reverted it. If you just want to make starpi, just run make in StarPi/Software.

ccmehil commented 2 years ago

Started playing around this morning with it. I can get StarPi installed, the INDI part was running for like 2hrs and just did not get there. Not sure if there is something here that could help.

In Stellarium I can get it to connect as remote software on port 9999, INDI does not connect. But I'm not seeing the cross hairs or any indication that it is actually connected.

Calibrations loaded Listener on port 9999 Waiting for connections ... New connection , socket fd is 6 , ip is : 192.168.86.28 , port : 60876 Adding to list of sockets as 0 New connection , socket fd is 6 , ip is : 192.168.86.28 , port : 60877 Adding to list of sockets as 0

GPSD

sudo gpsd -D 5 -N -n /dev/serial0 gpsd:WARN: This system has a 32-bit time_t. This gpsd will fail at 2038-01-19T03:14:07Z. gpsd:INFO: launching (Version 3.22) gpsd:IO: opening IPv4 socket gpsd:IO: opening IPv6 socket gpsd:INFO: listening on port gpsd gpsd:PROG: NTP: shmat(0,0,0) succeeded, segment 0 gpsd:PROG: NTP: shmat(1,0,0) succeeded, segment 1 gpsd:PROG: NTP: shmat(2,0,0) succeeded, segment 2 gpsd:PROG: NTP: shmat(3,0,0) succeeded, segment 3 gpsd:PROG: NTP: shmat(4,0,0) succeeded, segment 4 gpsd:PROG: NTP: shmat(5,0,0) succeeded, segment 5 gpsd:PROG: NTP: shmat(6,0,0) succeeded, segment 6 gpsd:PROG: NTP: shmat(7,0,0) succeeded, segment 7 gpsd:PROG: successfully connected to the DBUS system bus gpsd:PROG: shmget(0x47505344, 24232, 0666) for SHM export succeeded gpsd:PROG: shmat() for SHM export succeeded, segment 8 gpsd:INFO: stashing device /dev/serial0 at slot 0 gpsd:PROG: no /etc/gpsd/device-hook present, skipped running ACTIVATE hook gpsd:INFO: SER: opening GPS data source type 2 at '/dev/serial0' gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: Probing "Garmin USB binary" driver... gpsd:PROG: Probe not found "Garmin USB binary" driver... gpsd:PROG: Probing "GeoStar" driver... gpsd:PROG: Sent GeoStar packet id 0xc1 gpsd:IO: SER: => GPS: 5053474700c100010000000050924746 gpsd:PROG: Probe not found "GeoStar" driver... gpsd:PROG: Probing "Trimble TSIP" driver... gpsd:INFO: SER: speed 9600, 8O1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: Probe not found "Trimble TSIP" driver... gpsd:PROG: Probing "iSync" driver... gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=164\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:IO: SER: => GPS: @@@@\x0d\x0aMAW0C0B\x0d\x0a gpsd:INFO: SER: speed 9600, 8N1 gpsd:IO: SER: => GPS: $PASHQ,RID28\x0d\x0a gpsd:IO: SER: => GPS: @F0.3=167\x0d\x0a gpsd:IO: => GPS: @F0.3=167\x0d\x0a gpsd:IO: SER: => GPS: @F2.2=164\x0d\x0a gpsd:IO: => GPS: @F2.2=1*64\x0d\x0a gpsd:PROG: GREIS: Writing command '%dm%dm', checksum: 51 gpsd:IO: SER: => GPS: %dm%dm@51\x0d\x0a gpsd:PROG: GREIS: Writing command '%vendor%print,/par/rcv/vendor', checksum: 0A gpsd:IO: SER: => GPS: %vendor%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: writing oncore control type Cj gpsd:IO: SER: => GPS: @@Cj)\x0d\x0a%print,/par/rcv/vendor@0A\x0d\x0a gpsd:PROG: Probe not found "iSync" driver... gpsd:PROG: no probe matched... gpsd:INFO: gpsd_activate(2): activated GPS (fd 6) gpsd:PROG: NTP:PPS: using SHM(0) gpsd:PROG: NTP:PPS: using SHM(1) gpsd:PROG: PPS:/dev/serial0 chrony socket /run/chrony.serial0.sock doesn't exist gpsd:PROG: KPPS:/dev/serial0 checking /sys/devices/virtual/pps/pps0/path, /dev/ttyS0 gpsd:INFO: KPPS:/dev/serial0 device not found. gpsd:WARN: KPPS:/dev/serial0 kernel PPS unavailable, PPS accuracy will suffer gpsd:PROG: PPS:/dev/serial0 thread launched gpsd:INFO: PPS: activated /dev/serial0 ntpshm_link_activate(): Clock gpsd:INFO: running with effective group ID 20 gpsd:INFO: running with effective user ID 109 gpsd:INFO: startup at 2022-02-06T14:37:45.000Z (1644158265) gpsd:CLIENT: => client(0): {"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14}\x0d\x0a gpsd:PROG: checking client(0) gpsd:CLIENT: <= client(0): ?WATCH={"enable":true,"json":true};\x0a gpsd:PROG: device 0 (fd=6, path /dev/serial0) already active. gpsd:CLIENT: => client(0): {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/serial0","activated":"2022-02-06T14:37:45.459Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00}]}\x0d\x0a{"class":"WATCH","enable":true,"json":true,"nmea":false,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false}\x0d\x0a gpsd:PROG: checking client(0) gpsd:INFO: detaching ::1 (sub 0, fd 7) in detach_client gpsd:CLIENT: <= client(0): eof read gpsd:CLIENT: => client(0): {"class":"VERSION","release":"3.22","rev":"3.22","proto_major":3,"proto_minor":14}\x0d\x0a gpsd:PROG: checking client(0) gpsd:CLIENT: <= client(0): ?WATCH={"enable":true,"json":true};\x0a gpsd:PROG: device 0 (fd=6, path /dev/serial0) already active. gpsd:CLIENT: => client(0): {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/serial0","activated":"2022-02-06T14:37:45.459Z","native":0,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00}]}\x0d\x0a{"class":"WATCH","enable":true,"json":true,"nmea":false,"raw":0,"scaled":false,"timing":false,"split24":false,"pps":false}\x0d\x0a

ccmehil commented 2 years ago

sudo apt-get install indi-bin

This will get the server, tools, etc installed but still taking hours for the install to run to get indi_starpi complied

ChrisDick commented 2 years ago

I need to find out if the package install for indi-bin is enough to compile the 3rd party, including indi-starpi, or if compiling from source is necessary. it's the indi-core that is taking the time. I'm also trying building with the -j4 removed as the zero only has one core and it could be spending more time context switching between thread than actually compiling. I'm at 2 hours and 86%. there's also so many warnings that I don't know if it's all been successful yet. I'm stepping through the indi part of the script manually, once done I'll try the apt-get method.

ccmehil commented 2 years ago

I'm seeing the warnings as well. The current attempt after the apt-get is at 15% and 1.5 hrs running.

ccmehil commented 2 years ago

[ 15%] Building CXX object CMakeFiles/indidriver.dir/libs/indibase/indispectrograph.cpp.o

ChrisDick commented 2 years ago

mines now complete, about 2.5 hrs. looks like the -j4 was doing more harm than good. that's allowed indi-starpi and indi-gpsd to compile and run. now onto the apt-get method.

ChrisDick commented 2 years ago

I think the stellarium issue your having is the port. the 10001 after of sudo ./StarPi 10001 is the port for Stellarium. this is the default for the telescope config. the port 9999 is the for indi. I think I need to add a bit more detail to the readme. Any other suggestions to add? maybe something you would have found useful to know before you started?

ccmehil commented 2 years ago

I was curious about the 10001 so that for sure would be good. Perhaps if there is a more verbose debug output option or anything like that. Also what settings to choose in Stellarium for example although that is a lot simpler than for example Sky Safari Plus where you need to choose mounts and types, etc.

ccmehil commented 2 years ago

In terms of the overall install, I left it running in a screen session for like 4 hours. It's still struggling to finish the install.

ChrisDick commented 2 years ago

I've had some luck with the apt method, I'm able to build indi-starpi with indi-bin and libindi-dev, but still had to get the indi-core git for some cmake utils ( i maybe able to pick only the ones needed.) Unfortunately I am getting an error with indi-gpsd, which looks like it's not available through apt as the PPA repo hasn't been updated for bullseye. right now it looks like it's only possible to build it after building indi-core. have you updated since I removed the -j4? this made a big difference to me, but it's still taking a long time.

ccmehil commented 2 years ago

So far no luck with the install I seem to time out or overload the Pi Zero somewhere between the "make indi"and before I get to indi_starpi, not sure if it ever completes the indi make. After 4 hrs I had no choice but to reboot the Pi, could not ssh to it anymore

I've been trying to understand the install script to break apart the pieces but this one area I don't mess with a lot. I thought I might be able to run the indi_starpi part independently as it sounds like you have use the indi tools installed via apt-get

mkdir -p indi cd indi git clone https://github.com/indilib/indi.git git clone https://github.com/indilib/indi-3rdparty mkdir -p build/indi-core cd build/indi-core cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ./../../indi/ make -j sudo make install cd ../.. mkdir -p indidrivers cd indidrivers mkdir -p build/indi-starpi cd build/indi-starpi cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ./../../../../indi-starpi make sudo cp indi-starpi /usr/bin/indi_starpi cd .. mkdir indi-gpsd cd indi-gpsd cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ./../../../indi-3rdparty/indi-gpsd make sudo make install cd ../../../.. sudo cp ./indi-starpi/indi_starpi_sk.xml /usr/share/indi/indi_starpi_sk.xml

ChrisDick commented 2 years ago

From ~StarPi/ I did a sudo apt-get install indi-bin libindi-dev cd Software mkdir -p indi cd indi git clone https://github.com/indilib/indi.git mkdir -p build/indi-core cd build/indi-core cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ./../../indi/ mkdir -p indidrivers cd indidrivers mkdir -p build/indi-starpi cd build/indi-starpi cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ./../../../../indi-starpi make sudo cp indi-starpi /usr/bin/indi_starpi

I'm not sure if it needs the cmake for indi-core, but this is fairly quick. I haven't tried to run it yet as I started looking at indi-gpsd.

ccmehil commented 2 years ago

Maybe some additional debug steps to list in the readme, directory structure and where to check to see if each part of the install worked? The relative paths in the install script have made it tough - I seem to be off a directory or so when I start looking to see what's where. THat's on me not being familiar with the language and the compiling and all so may not be as important for someone else.

ccmehil commented 2 years ago

working through those steps

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ./../../../../indi-starpi

I get

CMake Error: The source directory "/home/pi/StarPi/Software/indi/build/indi-starpi" does not exist.

Shouldn't it be "/home/pi/StarPi/Software/indi_starpi" ?

ccmehil commented 2 years ago

Running it with the absolute path instead of the relative it worked.

When I execute it looks like it worked

pi@starpi:~ $ sudo indiserver -v indi_starpi 2022-02-06T23:48:58: startup: indiserver -v indi_starpi 2022-02-06T23:48:58: Driver indi_starpi: pid=3301 rfd=3 wfd=6 efd=7 2022-02-06T23:48:58: listening to port 7624 on fd 4 2022-02-06T23:48:58: Driver indi_starpi: snooping on GPS Simulator.GEOGRAPHIC_COORD 2022-02-06T23:48:58: Driver indi_starpi: snooping on GPS Simulator.TIME_UTC 2022-02-06T23:48:58: Driver indi_starpi: snooping on Dome Simulator.DOME_PARK 2022-02-06T23:48:58: Driver indi_starpi: snooping on Dome Simulator.DOME_SHUTTER 2022-02-06T23:48:58: Driver indi_starpi: Using /usr/share/indi/indi_starpi_sk.xml

Running the second part though, I would assume because of the missing GPSD.

pi@starpi:~/StarPi/Software $ sudo ./Out/StarPi 10001 Calibrations loaded Listener on port 9999 Waiting for connections ... Segmentation fault

ChrisDick commented 2 years ago

it looks like indi-starpi is ok and yes, if gpsd isn't running it will seg fault. have you tried running it with gpsd? I'll test the script as a whole tonight.

ccmehil commented 2 years ago

Not tried to get the indi_gpsd to make yet, was going to try now - long work day.

ccmehil commented 2 years ago

For the next step of the install

indi_gpsd

cd /home/pi/StarPi/Software/indi/ git clone https://github.com/indilib/indi-3rdparty cd /home/pi/StarPi/Software/indi-3rdparty cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug /home/pi/StarPi/Software/indi-3rdparty/indi-gpsd make sudo make install

However running "make"

/home/pi/StarPi/Software/indi-3rdparty/indi-gpsd/gps_driver.cpp: In member function 'virtual bool GPSD::updateProperties()': /home/pi/StarPi/Software/indi-3rdparty/indi-gpsd/gps_driver.cpp:138:9: error: 'defineProperty' was not declared in this scope; did you mean 'deleteProperty'? 138 | defineProperty(&GPSstatusTP); | ^~~~~~ | deleteProperty make[2]: [CMakeFiles/indi_gpsd.dir/build.make:82: CMakeFiles/indi_gpsd.dir/gps_driver.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:95: CMakeFiles/indi_gpsd.dir/all] Error 2 make: *** [Makefile:149: all] Error 2

The files came from the git clone.

ccmehil commented 2 years ago

slight adjustments to the install, not sure if it makes an actual difference

indi_gpsd

cd /home/pi/StarPi/Software/ git clone --depth=1 https://github.com/indilib/indi-3rdparty.git cd /home/pi/StarPi/Software/indi/build/indi-core/indidrivers mkdir -p build/indi-gpsd cd build/indi_gpsd cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug /home/pi/StarPi/Software/indi-3rdparty/indi-gpsd make sudo make install

error is the same

[ 50%] Building CXX object CMakeFiles/indi_gpsd.dir/gps_driver.cpp.o /home/pi/StarPi/Software/indi-3rdparty/indi-gpsd/gps_driver.cpp: In member function 'virtual bool GPSD::updateProperties()': /home/pi/StarPi/Software/indi-3rdparty/indi-gpsd/gps_driver.cpp:138:9: error: 'defineProperty' was not declared in this scope; did you mean 'deleteProperty'? 138 | defineProperty(&GPSstatusTP); | ^~~~~~ | deleteProperty make[2]: [CMakeFiles/indi_gpsd.dir/build.make:82: CMakeFiles/indi_gpsd.dir/gps_driver.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:95: CMakeFiles/indi_gpsd.dir/all] Error 2 make: *** [Makefile:149: all] Error 2

Assuming it's a bug?

ChrisDick commented 2 years ago

This error has been coming up on the indi forum as versions not being the same. Apt is currently getting v1.8.8 of both indi-bin and libindi-dev. I tried last night to get the tag v1.8.8, but that was the same. I've tried the install again, but it's had a c++ fatal error after 10% of indi-core (1.25hr) and it seems to be repeating on each file it compiles, so not going well.

ChrisDick commented 2 years ago

I removed the -J option entirely as this was letting make chose how many threads to use and I think the pi Zero can only cope with the one. I've successfully run the current install script twice on Raspian Bullseye lite on a zero W. It took 3 hours 10 minutes for the first, 3 hours 30 minutes for the second. I've been able to connect with both Stellarium and Ekos. The MPU9250 isn't working quite right yet, although I haven't calibrated it. I'm going through it step by step and already have an update for the I2Cdevlib. I'll put together a full guide for the calibration, but as a quick guide, it's finding the min and max for each sensor, so start calibration through the indi driver and slowly rotate the sensor around each axis so it passes through down for the accelerometer and north for the magnetometer.

ccmehil commented 2 years ago

fresh attempt

Start time : 10:15:10 Finish time : 13:01:30

pi@starpi:~ $ indiserver -v indi_starpi indi_gpsd 2022-02-13T12:07:14: startup: indiserver -v indi_starpi indi_gpsd 2022-02-13T12:07:14: Driver indi_starpi: pid=9746 rfd=3 wfd=6 efd=7 2022-02-13T12:07:14: Driver indi_gpsd: pid=9747 rfd=4 wfd=9 efd=10 2022-02-13T12:07:14: listening to port 7624 on fd 5 2022-02-13T12:07:14: Driver indi_starpi: snooping on GPS Simulator.GEOGRAPHIC_COORD 2022-02-13T12:07:14: Driver indi_starpi: snooping on GPS Simulator.TIME_UTC 2022-02-13T12:07:14: Driver indi_starpi: snooping on Dome Simulator.DOME_PARK 2022-02-13T12:07:14: Driver indi_starpi: snooping on Dome Simulator.DOME_SHUTTER 2022-02-13T12:07:14: Driver indi_starpi: Using /usr/share/indi/indi_starpi_sk.xml

When trying to run though

pi@starpi:~/StarPi/Software $ ./Out/StarPi 10001 Segmentation fault pi@starpi:~/StarPi/Software $ sudo ./Out/StarPi 10001 Calibrations loaded Listener on port 9999 Waiting for connections ... Segmentation fault pi@starpi:~/StarPi/Software $

ChrisDick commented 2 years ago

is gpsd runnning? was this fresh image or fresh install on the one you tried before?

ccmehil commented 2 years ago

Was only a fresh install from GIT, I did completely reformat the SD card. I'll try that later tonight.

ccmehil commented 2 years ago

Reformatted SD Card with a fresh install, other than apt-get update/upgrade only git was installed.

Start time : 22:16:36 Finish time : 01:33:26

I start the indi stuff first

pi@starpi:~/StarPi $ indiserver -v indi_starpi indi_gpsd 2022-02-14T07:07:35: startup: indiserver -v indi_starpi indi_gpsd 2022-02-14T07:07:35: Driver indi_starpi: pid=17476 rfd=3 wfd=6 efd=7 2022-02-14T07:07:35: Driver indi_gpsd: pid=17477 rfd=4 wfd=9 efd=10 2022-02-14T07:07:35: listening to port 7624 on fd 5 2022-02-14T07:07:36: Driver indi_starpi: snooping on GPS Simulator.GEOGRAPHIC_COORD 2022-02-14T07:07:36: Driver indi_starpi: snooping on GPS Simulator.TIME_UTC 2022-02-14T07:07:36: Driver indi_starpi: snooping on Dome Simulator.DOME_PARK 2022-02-14T07:07:36: Driver indi_starpi: snooping on Dome Simulator.DOME_SHUTTER 2022-02-14T07:07:36: Driver indi_starpi: Using /usr/share/indi/indi_starpi_sk.xml

Then I start the program (for me I have to use sudo or I get a segmentation fault)

pi@starpi:~/StarPi/Software $ sudo ./Out/StarPi 10001 Calibrations loaded Listener on port 9999 Waiting for connections ...

Stellarium sees it and I get the cross hairs but nothing happens, no movement no nothing.