STELLA-Landsat / STELLA

A DIY handheld spectrometer
20 stars 1 forks source link

AttributeError: 'bool' object has no attribute 'datetime' #58

Open nmt28 opened 7 months ago

nmt28 commented 7 months ago

Hi, I recently turned my STELLA on and was confronted with this error. I have done a hard reset and reinstalled the uf2 and libraries etc but am still getting this error.

`SOFTWARE_VERSION_NUMBER = 11.1.2 DEVICE_TYPE = STELLA-1.1 start memory free 158.88 kB unique identifier (UID) == 5151 i2c bus failed to initialize 'No pull up found on SDA or SCL; check your wiring' initialized spi_bus main_battery_voltage == 3.61 capacitive touch screen boot message: capacitive touch screen controller not found Display detected. real time clock failed to initialize Traceback (most recent call last): File "code.py", line 2222, in File "asyncio/core.py", line 297, in run File "asyncio/core.py", line 261, in run_until_complete File "asyncio/core.py", line 246, in run_until_complete File "code.py", line 181, in main AttributeError: 'bool' object has no attribute 'datetime'

Code done running.`

Prior to this error I was using it and it froze. After I restarted it I got this error.

paulmirel commented 7 months ago

It was working, and then it failed, after which point you restarted it.

  1. Is the above summary correct?
  2. It looks like a problem with the i2c bus. Sometimes that can be cleared by powering off, and then powering on again. A press of the reset button, or a ctrl-c/ctrl-d reset may not be enough. Try this with the STELLA not connected to a computer.
  3. Try running the test codes. Let me know what results you get.
  4. You may have an electrical short on one or both of the i2c lines. Do you have an electrical meter available? With the power off, look for unexpected continuity between those two lines, or between those lines and power or ground.
nmt28 commented 7 months ago

Yes, that summary is correct.

I run into this error with the IC2 bus scan:

`Traceback (most recent call last): File "code.py", line 22, in RuntimeError: No pull up found on SDA or SCL; check your wiring

Code done running.`

Can you point me in the direction of the connections to test?

Thanks

paulmirel commented 7 months ago

It's interesting that it was working, and then failed.

Check that the SCL bus (with the green wires) and the SDA bus (white wires) aren't shorted to each other, or shorted to power (red wires) or ground (black wires). It could be that you have an intermittent short. Also check that power and ground aren't shorted to each other. That can also cause this error.

It's helpful to see closeup photos of your board, so I can see how the build went.

If you don't see a short on any of the lines, try disconnecting, temporarily, the modules. This is classic A-B testing. Does it work with all the sensors? No? How about if I disconnect this sensor? and so on. When you get to a condition that works, the state of the wiring will help you know where to look for the trouble.

A loose piece of wire, or a little solder out of place, can cause this sort of behavior.

nmt28 commented 7 months ago

Thanks for the info. You can see some photos attached.

One thing I noticed is that the resistors get mega hot, so maybe I just fried one...?

PXL_20240417_144653407.jpg

PXL_20240417_144647312.jpg

PXL_20240417_144724472.jpg

PXL_20240417_144703546.jpg

paulmirel commented 7 months ago

The resistors should not be getting hot at all. You have a power short somewhere. I'll get a closer look at your photos in a little bit. (If that's a password on your Post-It, probably a good idea to change it right away.)

paulmirel commented 7 months ago

Looks like those resistors, supposed to be 10kΩ, are actually of a much lower value, 1 or 10Ω. They are only needed for the battery monitor, so you can disconnect them and test the function of the rest of the circuit. I'd start by poking the resistors with your meter set to measure Ohms, to see what value they are. Anything less than 10kΩ will needlessly draw too much current.

nmt28 commented 7 months ago

Thanks, I'll look into the resistors..it's possible I got them mixed up. I think most of the soldering is pretty clean but I'll take a close look over. It's quite possible that I fried a resistor then.

Thanks for the post-it heads up, that's just some random notes :)

nmt28 commented 17 hours ago

Hi, After a couple of long semesters I have finally managed to take a look at this again. I did indeed have some incorrect resistors in place which I have since replaced.

I am getting some errors still and I'd like to try and troubleshoot them with you if possible. So far I have it back up and running but I am hitting some issues. From the thread above we thought there might be an issue with the RP2040 bus. I have tried again with and without this plugged in and I am able to read it:

I2C addresses found: ['0x18', '0x38', '0x49', '0x5a', '0x68', '0x77']

I am now getting an error:

Traceback (most recent call last): File "<stdin>", line 4, in <module> ValueError: incompatible .mpy file

which may be a library error but its the first thing to fix.

All of my test codes run ok until I hit the VIS spectrum which uses:

from adafruit_as726x import AS726x_I2C

and then I get the error.

If I power STELLA up with the main code.py loaded I just get a white screen.

I did have an issue where STELLA could not be recognised by my Mac at all so I erased the disk and let it reboot. Things have seemed to have gone south from there :/

paulmirel commented 15 hours ago

The library format changed between CircuitPython 8 and CircuitPython 9. That error happens when an 8 or earlier library encounters CircuitPython 9, or the other way around.

P

On Dec 4, 2024, at 1:24 PM, Nathan Thomas @.***> wrote:

Hi, After a couple of long semesters I have finally managed to take a look at this again. I did indeed have some incorrect resistors in place which I have since replaced.

I am getting some errors still and I'd like to try and troubleshoot them with you if possible. So far I have it back up and running but I am hitting some issues. From the thread above we thought there might be an issue with the RP2040 bus. I have tried again with and without this plugged in and I am able to read it:

I2C addresses found: ['0x18', '0x38', '0x49', '0x5a', '0x68', '0x77']

I am now getting an error:

Traceback (most recent call last): File "", line 4, in ValueError: incompatible .mpy file

which may be a library error but its the first thing to fix.

All of my test codes run ok until I hit the VIS spectrum which uses:

from adafruit_as726x import AS726x_I2C

and then I get the error.

If I power STELLA up with the main code.py loaded I just get a white screen.

I did have an issue where STELLA could not be recognised by my Mac at all so I erased the disk and let it reboot. Things have seemed to have gone south from there :/

— Reply to this email directly, view it on GitHub https://github.com/STELLA-Landsat/STELLA/issues/58#issuecomment-2518210014, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABP3UYRXKI46XJQV3X6AAFT2D5CEPAVCNFSM6AAAAABTAY7BWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMJYGIYTAMBRGQ. You are receiving this because you commented.

nmt28 commented 15 hours ago

Thanks, I took the lib files from the Stella website. Is there an update?

Else, is it possible to downgrade to version 8?

I took the uf file from the link in the files as the one you provide wouldn't not reboot the bus for me

paulmirel commented 14 hours ago

Yes. The version 8 UF2 file is in the current set of downloads.

On Dec 4, 2024, at 3:19 PM, Nathan Thomas @.***> wrote:

Thanks, I took the lib files from the Stella website. Is there an update?

Else, is it possible to downgrade to version 8?

— Reply to this email directly, view it on GitHub https://github.com/STELLA-Landsat/STELLA/issues/58#issuecomment-2518478562, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABP3UYTAPAVJFOSZPMET2OD2D5PU5AVCNFSM6AAAAABTAY7BWCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMJYGQ3TQNJWGI. You are receiving this because you commented.