<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    That looks very promising now, thanks for the update!<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 16.02.2018 um 10:33 schrieb Mark
      Webb-Johnson:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3A9DAADA-E70D-4A70-BF5A-B4AC5B5A669F@webb-johnson.net"><br
        class="">
      <div class="">New 3.1 hardware is looking very good.</div>
      <div class=""><br class="">
      </div>
      <div class="">To recap: Unable to get WROOM32 modules with more
        than the standard 4MB flash on-board, 3.0 used an external 16MB
        flash chip. That worked well (in the end), but was a pain to get
        right. RAM was also tight, so we wanted to make sure we had room
        for expansion and change to a WROVER module (same as WROOM32,
        but with an extra 4MB flash RAM). When we tried to move the same
        approach to the 3.1 hardware using WROVER modules, we couldn’t
        get it to work. The change from 3.3v to 1.8v caused issues, but
        worse the Espressif IDF just didn’t support the combination of
        external flash and PSRAM. So, we hand-modified some WROVER
        modules to swap 4MB->16MB flash chip, as well as sourced a
        supplier of WROVER modules with 16MB flash on-board. These are
        now working well.</div>
      <div class=""><br class="">
      </div>
      <div class="">I can now switch to QIO mode (which should speed
        things up). Previously, we had to use DIO mode (with external
        flash). After setting the menuconfig for that, here is what the
        boot loader tells us:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (30) boot: ESP-IDF
                v3.1-dev-391-g8d8d62da 2nd stage bootloader</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (30) boot: compile
                time 16:24:20</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (43) boot: Enabling
                RNG early entropy source...</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (44) qio_mode:
                Enabling default flash chip QIO</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (44) boot: SPI Speed
                     : 40MHz</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (47) boot: SPI Mode
                      : QIO</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (51) boot: SPI Flash
                Size : 16MB</span></font></div>
        </div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">In theory, we can go to 80MHz, but the forums have
        lots of comments about how tight that is on timing so we are
        going to stay at 40MHz.</div>
      <div class=""><br class="">
      </div>
      <div class="">SPI RAM gets initialised just fine:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (743) spiram: SPI
                RAM mode: flash 40m sram 40m</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (747) spiram: PSRAM
                initialized, cache is in low/high (2-core) mode.</span></font></div>
        </div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">...</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">I (1656) spiram: SPI
              SRAM memory test OK<br class="">
              I (1656) heap_init: Initializing. RAM available for
              dynamic allocation:<br class="">
              I (1656) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM<br
                class="">
              I (1663) heap_init: At 3FFBC198 len 00023E68 (143 KiB):
              DRAM<br class="">
              I (1669) heap_init: At 3FFE0440 len 00003BC0 (14 KiB):
              D/IRAM<br class="">
              I (1675) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB):
              D/IRAM<br class="">
              I (1683) heap_init: At 40099404 len 00006BFC (26 KiB):
              IRAM<br class="">
              ...<br class="">
              I (1693) spiram: Adding pool of 4096K of external SPI
              memory to heap allocator</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > module memory<br
                class="">
              Free 8-bit 119128/282436, 32-bit 424/27596, SPIRAM
              4193928/4194252<br class="">
              --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM
              D/IRAM   IRAM SPIRAM<br class="">
              tiT                   0      0      0    128         +0  
                +0     +0   +128<br class="">
              Housekeeping      40564   5120      0     12     +40564
               +5120     +0    +12<br class="">
              no task            5348      0      0      0      +5348  
                +0     +0     +0<br class="">
              esp_timer         52328      0    644      0     +52328  
                +0   +644     +0<br class="">
              main              16448      0      0      0     +16448  
                +0     +0     +0<br class="">
              ipc0              11096      0      0      0     +11096  
                +0     +0     +0<br class="">
              ipc1                 12      0      0      0        +12  
                +0     +0     +0<br class="">
              Tmr Svc             884   6444      0      0       +884
               +6444     +0     +0<br class="">
              AsyncConsole        108      0  26404      0       +108  
                +0 +26404     +0</span></font></div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">SD CARD works well:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (1004) sdcard: SD
                CARD has been inserted. Auto-mounting...</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (1004) gpio:
                GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup:
                0| Pulldown: 0| Intr:0</span></font></div>
        </div>
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">OVMS > test sdcard</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD test starts...</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written 0/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                128/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                256/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                384/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                512/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                640/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                768/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                896/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1024/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1152/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1280/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1408/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1536/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1664/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1792/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD written
                1920/2048</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">Cleaning up</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">SD CARD test completes</span></font></div>
        </div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">OVMS > vfs ls /sd</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">component.mk</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">sd_card_example_main.c</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">log.txt</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">FOO.TXT</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">stubby</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">ovms3.done</span></font></div>
        </div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">Putting an ovms3.bin into the root directory of the
        SD card, and rebooting, even has the desired affect of an OTA
        update:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (1015) sdcard: SD
                CARD has been inserted. Auto-mounting...</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">I (1015) gpio:
                GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup:
                0| Pulldown: 0| Intr:0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">W (1095) ota:
                AutoFlashSD Current running partition is: factory</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">W (1095) ota:
                AutoFlashSD Target partition is: ota_0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">W (1095) ota:
                AutoFlashSD Source image is 1582464 bytes in size</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">W (1095) ota:
                AutoFlashSD Preparing flash partition...</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">W (9315) ota:
                AutoFlashSD Flashing image partition...</span></font></div>
          <div class=""><span style="font-size: 14px; font-family:
              'Andale Mono';" class="">W (18275) ota: AutoFlashSD
              Setting boot partition...</span></div>
          <div class=""><span style="font-size: 14px; font-family:
              'Andale Mono';" class="">W (19215) ota: AutoFlashSD
              unmounting SD CARD</span></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">W (19215) ota:
                AutoFlashSD OTA flash successful: Flashed 1582464 bytes,
                and booting from ‘ota_0'</span></font></div>
        </div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">rst:0xc
              (SW_CPU_RESET),boot:0x3b (SPI_FAST_FLASH_BOOT)</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">OVMS > ota status</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">Firmware:
                3.0.0/ota_0/main build (idf v3.1-dev-217-g5bf85d06) Jan
                16 2018 08:03:11</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">Running partition:
                ota_0</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">Boot partition: ota_0</span></font></div>
        </div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class="">
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">OVMS > metrics list
                m.version</span></font></div>
          <div class=""><font class="" face="Andale Mono"><span
                style="font-size: 14px;" class="">m.version            
                                   3.0.0/ota_0/main build (idf
                v3.1-dev-217-g5bf85d06) Jan 16 2018 08:03:11</span></font></div>
        </div>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">CAN buses:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > can can1 start
              active 1000000</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Can bus can1 started in
              mode active at speed 1000000Kbps</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > can can2 start
              active 1000000</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Can bus can2 started in
              mode active at speed 1000000Kbps</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > can can3 start
              active 1000000</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Can bus can3 started in
              mode active at speed 1000000Kbps</span></font></div>
        <div class=""><br class="">
        </div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > can log trace</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">CAN logging active:
              Type:trace; Path:''; Filter:off; Vehicle:;</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Note: info logging is
              done at log level debug, frame logging at verbose</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><span style="font-size: 14px; font-family: 'Andale
            Mono';" class="">OVMS > log level verbose</span></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">Logging level for * set
              to verbose</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><span style="font-size: 14px; font-family: 'Andale
            Mono';" class="">OVMS > can can3 tx standard 100 01 02 03
            04</span></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">V (1478305) canlog: TX
              can3 id 100 len 4: 01 02 03 04             | ....</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">V (1478305) canlog: RX
              can1 id 100 len 4: 01 02 03 04             | ....</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">V (1478305) canlog: RX
              can2 id 100 len 4: 01 02 03 04             | ….</span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class=""><br class="">
            </span></font></div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > can can2 tx
              standard 100 01 02 03 04<br class="">
              V (1598675) canlog: TX can2 id 100 len 4: 01 02 03 04    
                      | ....<br class="">
              V (1598675) canlog: RX can1 id 100 len 4: 01 02 03 04    
                      | ....</span></font></div>
        <div class=""><br class="">
        </div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > can can1 tx
              standard 100 01 02 03 04</span><br class="">
            <span style="font-size: 14px;" class="">V (1688155) canlog:
              TX can1 id 100 len 4: 01 02 03 04             | ....</span><br
              class="">
            <span style="font-size: 14px;" class="">V (1688155) canlog:
              RX can2 id 100 len 4: 01 02 03 04             | ….</span></font></div>
        <div class=""><br class="">
        </div>
        <div class=""><font class="" face="Andale Mono"><span
              style="font-size: 14px;" class="">OVMS > can can3 tx
              extended 100 01 02 03 04 05 06 07 08<br class="">
              V (1716925) canlog: TX can3 id 00000100 len 8: 01 02 03 04
              05 06 07 08 | ........<br class="">
              V (1716925) canlog: RX can1 id 00000100 len 8: 01 02 03 04
              05 06 07 08 | ........<br class="">
              V (1716925) canlog: RX can2 id 00000100 len 8: 01 02 03 04
              05 06 07 08 | ........</span></font></div>
      </blockquote>
      <div class=""><br class="">
      </div>
      Seems to be a problem with receiving on CAN3. Doesn’t really make
      sense, as it can transmit. I’ll look into this.
      <div class=""><br class="">
      </div>
      <div class="">Still a few things to check, but it seems we are ok
        for 3.1 production.</div>
      <div class=""><br class="">
      </div>
      <div class="">Now on to the SPI RAM support. Planning a base class
        that can be derived from. Objects there will be allocated from
        SPI RAM as highest priority (but normal RAM for 3.0 hardware
        without SPI RAM).</div>
      <div class=""><br class="">
      </div>
      <div class="">Regards, Mark.</div>
      <div class=""><br class="">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.teslaclub.hk">OvmsDev@lists.teslaclub.hk</a>
<a class="moz-txt-link-freetext" href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
  </body>
</html>