Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 19:29

    bessman on pslab-esp-server

    (compare)

  • 19:29

    bessman on development

    (compare)

  • 19:28

    bessman on bootloader

    Move bootloader to pslab-bootlo… Move firmware to repository root (compare)

  • 19:28
    bessman closed #134
  • 19:25
    bessman synchronize #134
  • 19:20
    bessman synchronize #134
  • 19:18
    bessman opened #134
  • 18:23

    bessman on bootloader

    Prepare for repository split Remove drawio flowchart (compare)

  • 18:23
    bessman closed #133
  • 18:22
    bessman synchronize #133
  • 18:19
    bessman synchronize #133
  • Aug 13 13:46
    bessman synchronize #133
  • Aug 13 13:43
    bessman synchronize #133
  • Aug 13 13:37
    bessman synchronize #133
  • Aug 13 13:26
    bessman synchronize #133
  • Aug 13 13:22
    bessman synchronize #133
  • Aug 13 13:15
    bessman synchronize #133
  • Aug 13 13:08
    bessman synchronize #133
  • Aug 13 13:00
    bessman synchronize #133
  • Aug 13 12:14
    bessman opened #133
RafaelLeeImg
@RafaelLeeImg
MCP6S21 is hard to find, I may use CAT5171 or MCP4017 to build variable gain amp.
I need to find another I2C DAC to replace MCP4728, too.
RafaelLeeImg
@RafaelLeeImg

Good news: The basic test of the replaced power chips all function normally, including the charging, discharging, power supply with/without the battery. 10V boost circuit, -10V capacitor pump, +6V and -6V voltage source.
I add a button to control the IP5189T power bank IC. Press the button to turn it on, press 2 times to turn it off. The power bank IC will measure the current, if the current is less than 45mA, it will cut-off the output after 40 seconds.

I've replace the MCP6S21 with a MAX5400 digital potentiometer and a TL082 general operational amplifier.
I've replace the 4 channel DAC MCP4728 with 2 two channel DAC MCP4822, if there is no strong synchronization between different DAC channels. I think it's OK because the 4 amplifing circuits after DAC are pretty different, so there may be no requirement for synchronization between DAC channels.
I've add a 74HC4051 to handle the Chip-Select pins which are newly added.

Bad news: I only bought 2 pieces of IP5189 for testing, I checked there are more than 3000 pieces when I chose to test it, but now there are none left. I may need to test IP5219 instead or wait for a while.

The datasheets are here http://www.injoinic.com/product_detail/id/21.html

I need PIC24 chips and a debugger if there are some to further test with modifying the firmware.

RafaelLeeImg
@RafaelLeeImg

Story of Arduino.. https://blog.arduino.cc/2021/12/09/one-board-to-rule-them-all-history-of-the-arduino-uno/

Being a engineer for years, Arduino is not my option in any of my projects. It's comparably expensive, poor-porformance, poor-designed. The true story that they use Atmega MCU is that there space have several thousands of Atmega by coincidence. Not a solid reason. To some extent, we say that Arduino saved Atmel.
The toolchain is poor. IDE is poor, even the default font is ugly for programming.

It has done some help to newbies, but the terminology they used is not accurate in software field. It will make Arduino users harder to understand the development of MCU programming, vice-versa.

They have done nearly none contribution to the electronics and software world outside of Arduino. They could have done better job to let the software community contribute to more general embedded programming.

RafaelLeeImg
@RafaelLeeImg
They tried to hide the compiling and running process, the idea is good, but they have ruined them all. Even incrimental compiling is not enabled by default.
I don't have much experience developing Arduino related projects and whenever I have any better choice, I will not use it.
A good projects shall designed to be good, there should be philosophy under the projects. It's useful when trade-offs are required. Even ESP8266 supports Arduino IDE, Arduino team could have done much better. I didn't see any efforts they made to make arduino more modern, they have used up their luck.
apoorva-raj
@apoorva-raj
Please review my PR
RafaelLeeImg
@RafaelLeeImg
I can compile pslab-firmware with XC16 compiler now, where is the firmware for PSLab v6? Is the branch origin/bootloader working for V6?
RafaelLeeImg
@RafaelLeeImg
Shall I buy a PICkit 3 or 3.5 debugger, is v3.5 better?
Alexander Bessman
@bessman
The bootloader branch contains two folders, pslab-bootloader.X and pslab-core.X. The latter contains the actual firmware.
I use a PICkit3, I think @CloudyPadmal uses the same. No idea what's different in the newer version.
The firmware found in pslab-core.X folder works for the V6, with a few exceptions that haven't been implemented yet.
RafaelLeeImg
@RafaelLeeImg
OK. Good, Then I have a good place to start. I already took a look at the structure of the code. I need sometime to understand it. I didn't find any code related to SPI cs pin selection, that's where the modifications made my me due to the lack of MCP4728.
Alexander Bessman
@bessman
We currently use I2C to talk to the MCP4728, not SPI. That code can be found here: https://github.com/fossasia/pslab-firmware/blob/bootloader/pslab-core.X/instruments/powersource.c
Alexander Bessman
@bessman
I see the MCP4822 has no I2C interface. The SPI implementation is here: https://github.com/fossasia/pslab-firmware/tree/bootloader/pslab-core.X/bus/spi
Alexander Bessman
@bessman
I finally got the TCD1304 to give me something that looks like real data:
Green line is entire sensor exposed, orange completely covered, blue half-covered.
(Is there a way to post images directly in the chat? Drag-and-drop doesn't seem to work.)
Mario Behling
@mariobehling
lR0uPqY.png
@bessman Looks very good. Drag and Drop works for me.
nielek2
@nielek2
great!
blue is half the sensor covered? so this is more than one reading cycle?
nielek2
@nielek2
1 line readout period is 3694 elements, are you reading each of them twice?
Alexander Bessman
@vgfsrhkbgd:matrix.org
[m]
Yes, this is two readout periods.
Almost three actually: readout period is 7.4 ms, the oscilloscope trace is 20 ms.
nielek2
@nielek2
tcd1304.png
there are 46 readings which should be dropped as they are dummy outputs. is it possible to identify/address them?
Alexander Bessman
@bessman
The data rate is 500 kS/s, so the dummy elements are the first 64 µs and final 28 µs of the signal, starting from when the ICG clock goes high.
apoorva-raj
@apoorva-raj
Hi, I attended the PS Lab meeting yesterday to talk about the android app but there wasn't any discussion going on regarding that. So I'm wondering if I should continue working on the current app or wait till the new version of the hardware is released.
RafaelLeeImg
@RafaelLeeImg
There won't be too much modifications between the new and old hardware. Most of Anrdroid work can be done in advance.
Harshit Bansal
@harshitbansall
Hey Guys, im a student, i wanna contribute to this project, I am new so please walk me through it.
CyReVolt
@CyReVolt:matrix.org
[m]
Hi, welcome! For a start, please have a look at https://docs.pslab.io/

Here's for the firmware part, looking quite interesting:
https://gill.net.in/posts/pic32-blink-led-rust/

For the love of XXX I couldn’t get it to work for me to even test if my setup is wired correctly. At that point I turned to open-source solutions.

Getting away from the not-so-well-working Microchip tools is awesome! \o/

Padmal
@CloudyPadmal
Nice!
apoorva-raj
@apoorva-raj
apoorva-raj
@apoorva-raj
Mario Behling
@mariobehling
apoorva-raj
@apoorva-raj
RafaelLeeImg
@RafaelLeeImg

I read through the source code of pslab-desktop, found nothing about initialization sequence in javascript or the .py scripts inside the pslab-desktop directory
Then I go a little deeper found that the pslab-desktop use python script in pslab

Then I modified the python script in the serial_handler.py to print something but found nothing showed up in my terminal. Where did all the stdout redirected?

I've removed the .pyc and tested again, nothing changed.
What shall I do next?

strace -f -F -o /dev/shm/unzip/del/pslab_strace /usr/bin/pslab
1749800 stat("/home/USER/.local/lib/python3.9/site-packages/pslab-2.4.0-py3.9.egg/pslab", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
1749800 stat("/home/USER/.local/lib/python3.9/site-packages/pslab-2.4.0-py3.9.egg/pslab/serial_handler.py", {st_mode=S_IFREG|0644, st_size=16100, ...}) = 0
1749800 stat("/home/USER/.local/lib/python3.9/site-packages/pslab-2.4.0-py3.9.egg/pslab/serial_handler.py", {st_mode=S_IFREG|0644, st_size=16100, ...}) = 0
1749800 openat(AT_FDCWD, "/home/r/.local/lib/python3.9/site-packages/pslab-2.4.0-py3.9.egg/pslab/pycache/serial_handler.cpython-39.pyc", O_RDONLY|O_CLOEXEC) = 6
1749800 fstat(6, {st_mode=S_IFREG|0644, st_size=15726, ...}) = 0

RafaelLeeImg
@RafaelLeeImg
I've tried to capture serial communication of V5 and V6.
The VID and PID matches. It's not the problem of change CP2102.
RafaelLeeImg
@RafaelLeeImg
By the way, where's the repository of pslab desktop qt?
Padmal
@CloudyPadmal
Hello @RafaelLeeImg , what's the problem you're having?
everthu
@everthu
Hi, I'am new to PSLab and I like the board, but I have some questions regarding the different hardware revisions.
When will the v6 hardware commercially available? and if so, wil the v5 hardware still be commercially available? I'am in the phase of designing a new testsystem and I have to decide which board to use.
Regards, Evert Huijben, Remoticom
CyReVolt
@CyReVolt:matrix.org
[m]
Here's a tweet to action regarding the PSLab desktop app advancement: https://twitter.com/OrangeCMS/status/1488247815516078082?t=swlhlWXcbEVMewhHtmQktw&s=19
I just ran the app on the new laptop running Pop!_OS (System76' Ubuntu fork), working just fine. :-)
CyReVolt
@CyReVolt:matrix.org
[m]
Gamozo did an oscilloscope hack session, quite interesting:
https://twitter.com/gamozolabs/status/1489256493182377984?t=as59fzn_ZQ8-rJDiOLLP2A&s=19