<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>