federico3 / trovastelle Goto Github PK
View Code? Open in Web Editor NEWAn arrow that points at interesting objects in the sky, inspired by the art installation at the JPL mall.
An arrow that points at interesting objects in the sky, inspired by the art installation at the JPL mall.
Right now any update automatically reflects in the application. This also causes the config to get overwritten whenever the page is opened, which is less than great. Fix: add a button to upload configuration, remove autoupload.
Requires converting from alt-az to ra-dec
trovastelle/frontend/src/CelestialMap.js
Line 247 in 81a458c
This should read from props.list
.
Depends on #19
Here we update the observables. However, often, the change does not "take" until a reboot. I think there's a race condition somewhere?
For BepiColombo, it's a git pull.
For the others, may be trickier.
Adafruit says that, so long as the system calibration level is 1 or higher, we will have North. We can perhaps relax this check to system calibration>=1, or >=2.
Often, trovastelle2 will give this error:
โ python trovastelle.py
Traceback (most recent call last):
File "/home/pi/trovastelle/src/celestial_compass/trovastelle.py", line 438, in <module>
asyncio.run(ts.run(),debug=_debug)
File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File "/home/pi/trovastelle/src/celestial_compass/trovastelle.py", line 399, in run
await cc_task
File "/home/pi/trovastelle/src/celestial_compass/compass.py", line 168, in run
await main_task
File "/home/pi/trovastelle/src/celestial_compass/compass.py", line 233, in _run_main
self.display_controller.display_observable_data(
File "/home/pi/trovastelle/src/celestial_compass/display_manager.py", line 241, in display_observable_data
self._display_text_in_box(
File "/home/pi/.local/lib/python3.9/site-packages/luma/core/render.py", line 43, in __exit__
self.device.display(self.image)
File "/home/pi/.local/lib/python3.9/site-packages/luma/oled/device/__init__.py", line 225, in display
self.data(list(buf))
File "/home/pi/.local/lib/python3.9/site-packages/luma/core/device.py", line 55, in data
self._serial_interface.data(data)
File "/home/pi/.local/lib/python3.9/site-packages/luma/core/interface/serial.py", line 125, in data
write(list(data[i:i + block_size]))
File "/home/pi/.local/lib/python3.9/site-packages/luma/core/interface/serial.py", line 134, in _write_large_block
self._bus.i2c_rdwr(self._i2c_msg_write(self._addr, [self._data_mode] + data))
File "/home/pi/.local/lib/python3.9/site-packages/smbus2/smbus2.py", line 658, in i2c_rdwr
ioctl(self.fd, I2C_RDWR, ioctl_data)
OSError: [Errno 121] Remote I/O error
Looks like this is an i2c error. It may have to do with the clock not being properly stretched, or just some issue with how the display is wired (remember that terrible soldering job?), or just noise. When this happens, the whole application crashes and does not restart.
Turns out laser-cut gears are super noisy and inefficient. Consider commercial alternatives.
Also consider making the position of the stepper something we can calibrate.
Options:
A thinner 8mm hub (currently sold out).
Backend should be up as soon as possible. It is OK to reply with "waiting" or "calibrating".
fetch_celestrak_data.{timer,service}
to /etc/systemd/system
, then sudo systemctl daemon-reload
, then sudo systemctl enable
, then sudo systemctl start
.As a circle maybe?
We have a service for the arrow controller. The frontend and backend should also autostart. To do this, we need to figure out wsgi.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.