Shop OBEX P1 Docs P2 Docs Learn Events
New P2 module - Page 15 — Parallax Forums

New P2 module

191011121315»

Comments

  • evanhevanh Posts: 16,701
    edited 2025-08-29 09:57

    @Wuerfel_21 said:

    @evanh said:
    The only way to use a SD card, and not be constantly removing it, and also develop new code via serial booting is to have a loader in the EEPROM. Thereby entirely bypassing the ROM's SD boot solution.

    I usually just set the pullup for the long serial window. Forget which one that was. That will never auto-boot anything, but that's usually desireable.

    P59 pull-up forces serial only booting. P59 pull-down forces no serial booting.

    Yeah, I suppose that is an option: Boot from serial as a loader until happy with finished product, then put the loader on the SD card and make it bootable.

  • RaymanRayman Posts: 15,606
    edited 2025-08-29 12:35

    @evanh Looks like that was it...

    FatFS works from boot with this change to line 550 in sdmm.cc:

            //spm_rx |= P_SYNC_RX | P_OE | P_INVERT_OUTPUT | P_HIGH_15K | P_LOW_15K;  // rx smartpin mode, with 15 k pull-up
            spm_rx |= P_SYNC_RX | P_OE | P_INVERT_OUTPUT | P_HIGH_1MA | P_LOW_FLOAT;  //  pull-up
    
  • evanhevanh Posts: 16,701
    edited 2025-08-29 14:32

    You do know that's a work-around, right? It overpowers the incorrectly wired R24 pull-down on P58 that should be a pull-up. I expect you to correct the schematic and fix the already made modules in the medium term.

    PS: The only reason, I think, that FSRW works for you is because you're using the broken sdspi_bashed2.spin2 driver that doesn't ever do a card busy check. Which is also why FSRW needs multiple attempts to get anything done.

  • RaymanRayman Posts: 15,606
    edited 2025-08-29 14:51

    @evanh what’s wrong with the work around?

    Not sure how changing the pulldown would affect other parts sharing that pin…

  • evanhevanh Posts: 16,701

    @Rayman said:
    @evanh what’s wrong with the work around?

    It ain't gonna be standard issue for a starters. It'll be up to you to add the workaround each time there is an update to includes.

    Not sure how changing the pulldown would affect other parts sharing that pin…

    The pull-down is a mistake. A tad surprisingly, the Parallax board have no resistor at all. So my programmed pull-up is actually needed.

    Everything except the CLK requires a pull-up.

  • evanhevanh Posts: 16,701
    edited 2025-08-29 15:29

    The fact that the Eval and Edge boards have no pull-up resistor present on P58 means you can remove the Swap's R24 and be reasonably confident of future drivers always handling it.

  • RaymanRayman Posts: 15,606

    @evanh Have to see how that would affect the behavior of the PowerGood1 LED...

  • evanhevanh Posts: 16,701

    Pull-ups on the LEDs don't matter but I have no idea what the PGOODx pins will do from that regulator. One hopes they go hi-Z when good. My gut reaction is cut those tracks so that P58/P59 no longer reach the regulator chip.

  • RaymanRayman Posts: 15,606

    @evanh Don't think I'll be cutting any traces..

    R24 is in an easy place to remove though. I'll try that.

  • evanhevanh Posts: 16,701

    Goes without saying that future board production runs should be changed to fix these issues.

  • RaymanRayman Posts: 15,606

    Removing R24 seems to make FatFS happy. But, it turns off the associated LED that was kind of using as power LED.

    Tried flashing this to get it back:

    con  'Flashing this erases the uSD
    
    PUB main()
      wrpin(58, P_OE|P_LOW_15K)
      pinl(58)
      repeat
    

    But, this seems to have the effect of erasing the uSD. So, not doing that...

  • evanhevanh Posts: 16,701
    edited 2025-08-29 23:30

    I'd ditch both the LEDs and change the PGLED1/PGLED2 module pins into extra GND pins. If you want power indicator LEDs then they can go on the carrier board.

    EDIT: Actually, the biggest design improvement would be to remove the P46..P56 HyperRAM signals from the module's pinout. That then frees up eleven module pins to be made into GND contacts.

  • RaymanRayman Posts: 15,606

    @evanh There's a pin that disables the HyperRam, allowing use of these pins for something else.

    Flashing with a program the lights the P59 LED doesn't seem to break anything.
    This might be the new default flash for these units:

    con  'Light up the P59 LED a bit
    
    PUB main()
      wrpin(59, P_OE|P_LOW_15K)
      pinl(59)
      repeat
    
  • RaymanRayman Posts: 15,606

    Ok, removed R24 from 14 of the completed modules that were packaged up to go.
    Also, updated the flash.

    Thanks @evanh for your help with this. Good to have this change made now as they are going on sale today.

    Hopefully, remember to do this for the other ones still in production.
    Just making the test with shell.c, as was done for these, will catch an mistakes.

  • evanhevanh Posts: 16,701
    edited 2025-08-30 23:24

    @Rayman said:
    @evanh There's a pin that disables the HyperRam, allowing use of these pins for something else.

    I'd remove all those tinylogic chips too. Go back to the dip switches, or use bridgeable pads. Do the EdgeCard way of having two models. One model with added RAM and one without.

  • Has the mythical 512MBit (=64MB) HyperRAM been tried by anyone yet?
    Maybe something for next run.

  • RaymanRayman Posts: 15,606

    Not a fan of dip switches…
    Think SWaP module is just about perfect now.

  • evanhevanh Posts: 16,701

    The nice thing with bridgeable pads is they don't have any assembly so can easily be on the underside of the PCB.

  • RaymanRayman Posts: 15,606

    Finishing some more SWaP modules and ran out of 10k 0402 resistors :(
    Very frustrating that something so cheap can mess this up...

    Just ordered 1000 or more each of all the resistors needed.
    Also, 100+ of all the caps and other tiny parts.
    This should help keep production on schedule...

  • RaymanRayman Posts: 15,606

    Think the problem was trying to use the PandaPlacer's feeders to do 0402 parts. It just doesn't work for me. Lost a lot of parts...

    But, the strip feeders work great. Should be all good now... Just a learning curve...

  • RaymanRayman Posts: 15,606

    Haven't thought it through, but appears SWaP module PLCC-84 socket can fit reasonably well onto an Arduino Mega type board...

    1395 x 762 - 64K
Sign In or Register to comment.