Coder Social home page Coder Social logo

Comments (5)

lmiori92 avatar lmiori92 commented on September 27, 2024 1

@ShendoXT nice, thank you for all your tests, I really appreciate that the idea is going to be merged.
Happy to see my contribution is interesting.

from memcardrex.

lmiori92 avatar lmiori92 commented on September 27, 2024

Update: the GUI part is also ready.
Now, I need to do more in-depth testing.

EDIT: unfortunately the write operations are unreliable (not sure if that would happen on serial port only, too). Reads appear to be fine, but i suspect they may also fail.
A) Reads are always carried out successfully, MemCardRex does not hang nor PS1CardLink hangs. Subsequential reads seems always to match the content. At least regarding save data, some unused space may be different across cards copied on the PS1, I guess due to different free space handling and old data, too.
B) Writes are finiky. Sometimes the operation completes successfully (memcardrex + ps1cardlink not hanging, transitioning to Waiting for PC) other times the write progress bar completes on memcardrex but PS1CardLink hangs indefinitely on "Writing to memory card" while some other times the progress bar freezes completely, including PS1CardLink exactly as mentioned above.
C) I cannot get a full 0x00 card after formatting, not sure why, but most probably this is related to the write issues.

Next steps: pepper the code with printfs on the PC side to check if some failure goes unnoticed; check why flusing the incoming data before write was necessary on the serial port and see if it is acting up for the network transport.

EDIT 2: awww silly me .... I failed to adjust the busy-wait loop for reception of data! For quick-test, enlarging the delay from 5ms to 100ms made reading and writing reliable. I could format a card and after reading it back it was properly zeroed.
Now, I need to think a proper time-out / busy-wait logic also for the network where latency is considerably higher / random than the serial I/O. Most probably the logic is changed to "when no more bytes are received, then start the timeout timer".

from memcardrex.

lmiori92 avatar lmiori92 commented on September 27, 2024

The feature can be reviewed, I'm happy with it. It works.
Someone needs to kindly do some regression testing for the normal serial communication.

from memcardrex.

ShendoXT avatar ShendoXT commented on September 27, 2024

I like the idea of WiFi bridge but unfortunately I cannot get it to work. I seem to be using the same module as you.
I flashed esp-link and that part is working properly, I can connect to ESP and configure it using web browser.

But, the second I connect RX line on the module it's all over. It becomes unresponsive and even pinging becomes an issue.
PS1CardLink sits idle while that is happening so I know it's not spamming the module... Have you had these kind of issues?

from memcardrex.

ShendoXT avatar ShendoXT commented on September 27, 2024

OK, I managed to figure it out. Onboard USB-TTL chip interferes with the pin, it's keeping it LOW all the time.
I need to power the module with USB and disable internal pull-up and then it works.
On your image I see that you are powering it with 3.3V from the PlayStation, so maybe there are some differences between the modules. I have another ESP-01 without the USB-TTL chip so I can just use that.

None the less it works, albeit a little slow, I'll take a look at it. Also speed needs to be set to 38400bps manually to work with
PS1CardLink but that one is on me, I should have just gone with 115200bps by default like a sane person.
I'll switch to 115200bps in new releases.

I've regression tested serial communication and it's working properly as it should.

I've changed some stuff so there are some merge conflicts but I'll try to fix those manually because I would like to add this feature.
Thank you for developing this.

from memcardrex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.