[Ovmsdev] Transition to new esp-idf

Mark Webb-Johnson mark at webb-johnson.net
Fri Jan 19 08:39:18 HKT 2018


Michael: Can you try menuconfig Component / FAT Filesystem support / Use separate cache for each file -> OFF. Documentation shows that controlling the FS_TINY flag (which sounds like something we want).

With wifi, DEMO vehicle module, sd mounted, and server v2 running, I get:

Free 8-bit 70136/282488, 32-bit 17660/44832, SPIRAM 0/0

OVMS > sd unmount
OVMS > module memory
Free 8-bit 77604/282488, 32-bit 17660/44832, SPIRAM 0/0
--Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
tiT                 356   1088      0      0        +16    -20     +0     +0
Tmr Svc              20    528      0      0       -860  -6444     +0     +0

Using “separate cache for each file”, I get:

Free 8-bit 29156/282496, 32-bit 17660/44832, SPIRAM 0/0

OVMS > sd unmount
OVMS > module memory
Free 8-bit 57096/282496, 32-bit 17660/44832, SPIRAM 0/0
--Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
Tmr Svc               0    552      0      0         -4 -27780     +0     +0

Seems to be 27KB vs 7KB per filesystem mount, and we have two (/sd and /store). Overall win with FS_TINY for FAT is close to 41KB.

Regards, Mark.

> On 17 Jan 2018, at 9:23 AM, Mark Webb-Johnson <mark at webb-johnson.net> wrote:
> 
> Note also that the memory debugging option adds a bit of overhead.
> 
> With debugging enabled (heap: light impact):
> 
> OVMS > module memory
> Free 8-bit 79868/282496, 32-bit 17660/44832, SPIRAM 0/0
> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
> no task            5312      0      0      0      +5312     +0     +0     +0
> esp_timer         49568      0    644      0     +49568     +0   +644     +0
> main              39444      0      0      0     +39444     +0     +0     +0
> ipc0              11096      0      0      0     +11096     +0     +0     +0
> Housekeeping      24740  19956      0      0     +24740 +19956     +0     +0
> tiT                 132      0      0      0       +132     +0     +0     +0
> Tmr Svc               4  27800      0      0         +4 +27800     +0     +0
> ipc1                 12      0      0      0        +12     +0     +0     +0
> AsyncConsole          0     36  26404      0         +0    +36 +26404     +0
> 
> OVMS > metrics list m.freeram
> m.freeram                                79868
> 
> With debugging enabled (heap: comprehensive):
> 
> OVMS > module memory
> Free 8-bit 79728/282320, 32-bit 17968/45140, SPIRAM 0/0
> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
> no task            5312      0      0      0      +5312     +0     +0     +0
> esp_timer         49568      0    644      0     +49568     +0   +644     +0
> main              39444      0      0      0     +39444     +0     +0     +0
> ipc0              11096      0      0      0     +11096     +0     +0     +0
> Housekeeping      24644  20056      0      0     +24644 +20056     +0     +0
> tiT                 132      0      0      0       +132     +0     +0     +0
> Tmr Svc               4  27800      0      0         +4 +27800     +0     +0
> ipc1                 12      0      0      0        +12     +0     +0     +0
> AsyncConsole          0     20  26404      0         +0    +20 +26404     +0
> I (15614) simcom: State timeout, transition to 13
> I (15614) simcom: State: Enter PoweredOff state
> OVMS > metrics list m.freeram
> m.freeram                                79728
> 
> With debugging disabled:
> 
> OVMS > module memory
> To use these debugging tools, must set CONFIG_HEAP_TASK_TRACKING=y
> and have updated openvehicles/esp-idf
> OVMS > metrics list m.freeram
> m.freeram                                99956
> 
> I think we’ve still got some stuff we can look at to lighten the impact on internal memory. Once we can get the 3.1 hardware out, I can focus on that. The memory tools Steve has built are really complete and usable now. They let us see exactly what is going on.
> 
> If we had known going in that the 520KB SRAM of the ESP32 would be 80% used by the system, and only 20% for us, perhaps things would have been done differently. Anyway, we are where we are, and the WROVER module should be able to move a bunch of stuff off to PSRAM.
> 
> Regards, Mark.
> 
>> On 17 Jan 2018, at 12:59 AM, Michael Balzer <dexter at expeedo.de <mailto:dexter at expeedo.de>> wrote:
>> 
>> Bluetooth is disabled. Has been for a while, I don't see a chance to enable it with the 3.0 module.
>> 
>> I've also disabled Javascript support (duktape), Wolf, the web server and MDNS and the OBD2ECU. Telnet is enabled as I sometimes use that parallel to the async console.
>> 
>> That config gives me…
>> OVMS > module memory 
>> Free 8-bit 117364/286352, 32-bit 17972/45144, SPIRAM 0/0
>> …after reboot (without SD card), and with Wifi, modem, Twizy & server v2 running & connected…
>> 
>> OVMS > module memory 
>> Free 8-bit 23436/286352, 32-bit 17972/45144, SPIRAM 0/0
>> 
>> …when idle, will drop further with transmissions pending etc.
>> 
>> Opening a telnet session then results in:
>> 
>> OVMS > module memory 
>> Free 8-bit 18372/286352, 32-bit 17972/45144, SPIRAM 0/0
>> 
>> …and still stable.
>> 
>> Regards,
>> Michael
>> 
>> 
>> Am 16.01.2018 um 01:11 schrieb Mark Webb-Johnson:
>>> I’m seeing this:
>>> 
>>> OVMS > module memory
>>> Free 8-bit 79812/282268, 32-bit 17816/44988, SPIRAM 0/0
>>> 
>>> OVMS > sd unmount
>>> Unmounted SD CARD
>>> 
>>> OVMS > module memory
>>> Free 8-bit 107768/282268, 32-bit 17816/44988, SPIRAM 0/0
>>> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
>>> Tmr Svc               0     20      0      0         -4 -27780     +0     +0
>>> 
>>> I guess it is FAT fs stuff, but we use that for /store as well so not sure why so much. I will look into it.
>>> 
>>> With wifi client, ovms server v2, tesla roadster vehicle module, I get this:
>>> 
>>> OVMS > module memory
>>> Free 8-bit 54224/282268, 32-bit 17816/44988, SPIRAM 0/0
>>> 
>>> With the OBDII HUD, that drops to 45KB.
>>> 
>>> Do you have bluetooth enabled (in menuconfig)?
>>> 
>>> Regards, Mark.
>>> 
>>>> On 16 Jan 2018, at 3:35 AM, Michael Balzer <dexter at expeedo.de> <mailto:dexter at expeedo.de> wrote:
>>>> 
>>>> I've found the missing RAM. It's allocated for the SD card:
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 117364/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> 
>>>> I (34235) sdcard: SD CARD has been inserted. Auto-mounting...
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 89348/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
>>>> Tmr Svc               4  27804      0      0         +4 +27804     +0     +0
>>>> 
>>>> I (68065) sdcard: SD CARD has been removed.
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 117332/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
>>>> Tmr Svc               0     12      0      0         -4 -27792     +0     +0
>>>> 
>>>> …again…
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 117332/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
>>>> Tmr Svc               0     12      0      0         -4 -27792     +0     +0
>>>> 
>>>> I (114985) sdcard: SD CARD has been inserted. Auto-mounting...
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 89348/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
>>>> Tmr Svc               4  27804      0      0         +4 +27792     +0     +0
>>>> 
>>>> E (141205) sdmmc_cmd: sdmmc_read_sectors_dma: sdmmc_send_cmd returned 0x107
>>>> E (141205) diskio_sdmmc: sdmmc_read_blocks failed (263)
>>>> I (141515) sdcard: SD CARD has been removed.
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 117332/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
>>>> Tmr Svc               0     12      0      0         -4 -27792     +0     +0
>>>> 
>>>> 
>>>> Btw, I think the RAM usage of the telnet server is also higher than before:
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 117332/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> 
>>>> OVMS > wifi mode client 
>>>> Starting WIFI as a client for any defined SSID
>>>> I (380175) wifi: wifi firmware version: 403db1d
>>>> I (380175) wifi: config NVS flash: enabled
>>>> I (380175) wifi: config nano formating: disabled
>>>> I (380185) wifi: Init dynamic tx buffer num: 16
>>>> I (380185) wifi: Init data frame dynamic rx buffer num: 16
>>>> I (380185) wifi: Init management frame dynamic rx buffer num: 16
>>>> I (380185) wifi: wifi driver task: 3ffe3db4, prio:23, stack:4096
>>>> I (380185) wifi: Init static rx buffer num: 4
>>>> I (380185) wifi: Init dynamic rx buffer num: 16
>>>> I (380195) wifi: wifi power manager task: 0x3ffe846c prio: 21 stack: 2560
>>>> I (380195) wifi: mode : sta (30:ae:a4:37:25:88)
>>>> W (390205) wifi: incorrect scan type: 1073534024
>>>> I (392615) esp32wifi: Found SSID devolo-f4068d73a03e - trying to connect
>>>> I (393945) wifi: n:11 2, o:1 0, ap:255 255, sta:11 2, prof:1
>>>> I (394595) wifi: state: init -> auth (b0)
>>>> I (394605) wifi: state: auth -> assoc (0)
>>>> I (394605) wifi: state: assoc -> run (10)
>>>> I (394625) wifi: connected with devolo-f4068d73a03e, channel 11
>>>> I (394665) esp32wifi: WiFi UP with SSID: devolo-f4068d73a03e, MAC: 30:ae:a4:37:25:88, IP: 192.168.2.101, mask: 255.255.255.0, gw: 192.168.2.1
>>>> I (394665) telnet: Launching Telnet Server
>>>> I (397615) wifi: pm start, type:0
>>>> 
>>>> OVMS > module memory 
>>>> Free 8-bit 89700/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>> --Task--     Total DRAM D/IRAM   IRAM SPIRAM   +/- DRAM D/IRAM   IRAM SPIRAM
>>>> tiT                 128    716      0      0         +0   +484     +0     +0
>>>> AsyncConsole          0  16552  26404      0         +0 +16356     +0     +0
>>>> NetManTask            8    488      0      0         +8   +488     +0     +0
>>>> wifi                  0   1600      0      0         +0  +1600     +0     +0
>>>> eventTask             0   7564      0      0         +0  +7564     +0     +0
>>>> 
>>>> 
>>>> …but I'm not sure about that, haven't tested that in a while.
>>>> 
>>>> 
>>>> So, SD cards now work, and I'll not be able to use them due to the RAM usage… :(
>>>> 
>>>> 
>>>> 
>>>> Am 15.01.2018 um 19:21 schrieb Michael Balzer:
>>>>> Transition went fine. "make flash" didn't even erase "/store", I had expected that to happen, good to know.
>>>>> 
>>>>> And…
>>>>> 
>>>>> OVMS > sd status 
>>>>> SD CARD is inserted
>>>>> Name: SL32G
>>>>> Type: SDHC/SDXC
>>>>> Speed: default speed
>>>>> Size: 30436MB
>>>>> CSD: ver=1, sector_size=512, capacity=62333952 read_bl_len=9
>>>>> SCR: sd_spec=2, bus_width=5
>>>>> 
>>>>> → me too (the minion) :)
>>>>> 
>>>>> 
>>>>> BUT… after reconfiguration to the same components as before, I'm now missing about 30-40 KB of free RAM.
>>>>> 
>>>>> After loading just the Twizy module & the v2 server, I'm now again down to…
>>>>> 
>>>>> OVMS > module memory 
>>>>> Free 8-bit 2632/286352, 32-bit 17972/45144, SPIRAM 0/0
>>>>> 
>>>>> …so it crashes as soon as it needs to actually do anything, like sending a notification.
>>>>> 
>>>>> This is without any of the new CAN logging stuff yet, that's stashed away for the transition.
>>>>> 
>>>>> I'll now check the config again for any more options to save RAM…
>>>>> 
>>>>> Regards,
>>>>> Michael
>>>>> 
>>>>> 
>>>>> Am 15.01.2018 um 06:48 schrieb Stephen Casner:
>>>>>> In order for the the "module memory" and "module tasks" commands to
>>>>>> work, the configuration needs to be changed from the sdk.default.hw30
>>>>>> that Mark just provided. CONFIG_FREERTOS_USE_TRACE_FACILITY needs to
>>>>>> be enabled, CONFIG_HEAP_POISONING must be enabled (LIGHT or
>>>>>> COMPREHENSIVE), and CONFIG_HEAP_TASK_TRACKING must be enabled.  I have
>>>>>> attached a diff for the sdkconfig.  That diff also includes a section
>>>>>> for enabling telnet, which some of you may be using.
>>>>>> 
>>>>>> Please also note that in this revised implementation of "module
>>>>>> memory" the block address is now the address that is returned from
>>>>>> malloc, not the address of the header that precedes it, and the length
>>>>>> of the block is now exclusive of the debugging overhead.
>>>>>> 
>>>>>>                                                         -- Steve
>>>>>> 
>>>>>> On Mon, 15 Jan 2018, Mark Webb-Johnson wrote:
>>>>>> 
>>>>>>> All committed and pushed now.
>>>>>>> 
>>>>>>> Developers MUST now update their ESP IDF and XTENSA build tools to use this new build. They should also compare sdkconfig and sdkconfig.defaults.hw30 to verify differences. I also suggest you do a ‘make flash’ (rather than ‘make app-flash’) at least once, to update the bootloader to the latest (as bootloaders before v2.1 are no longer supported).
>>>>>>> 
>>>>>>> Check
>>>>>>> https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain <https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain> <https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain> <https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain> <https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain> <https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain> <https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain> <https://esp-idf.readthedocs.io/en/latest/get-started/index.html#setup-toolchain>
>>>>>>> to see the version of XTENSA toolchain required for latest Espressif IDF ‘master’ builds. As of this writing, it is 1.22.0-80-g6c4433a-5.2.0.
>>>>>>> 
>>>>>>> I hope this goes smoothly for you.
>>>>>>> 
>>>>>>> Regards, Mark.
>>>>>>> 
>>>>>>> commit dfcc658557fc480bcccb09b23bc24399bb6e7497 (HEAD -> master, origin/master, origin/HEAD)
>>>>>>> Author: Mark Webb-Johnson <mark at webb-johnson.net> <mailto:mark at webb-johnson.net> <mailto:mark at webb-johnson.net> <mailto:mark at webb-johnson.net>
>>>>>>> Date:   Mon Jan 15 07:56:45 2018 +0800
>>>>>>> 
>>>>>>>     Provide a sdkconfig.default.hw31 for OVMS v3.1 hardware
>>>>>>> 
>>>>>>> commit 003592d553c881f735fb228b08836a13c306cec3
>>>>>>> Merge: e58c5b6 b28db5e
>>>>>>> Author: Mark Webb-Johnson <mark at webb-johnson.net> <mailto:mark at webb-johnson.net> <mailto:mark at webb-johnson.net> <mailto:mark at webb-johnson.net>
>>>>>>> Date:   Mon Jan 15 07:49:13 2018 +0800
>>>>>>> 
>>>>>>>     Merge branch 'for-master'. This requires ESP-IDF v3.0 support:
>>>>>>> 
>>>>>>>     OVMS developers should now:
>>>>>>> 
>>>>>>>     1] Pull the latest OpenVehicles IDF, and checkout MASTER branch.
>>>>>>> 
>>>>>>>     2] Update XTENSA tools to match version required by Espressif for MASTER branch.
>>>>>>> 
>>>>>>>     3] For ovms hardware v3.0, a sdkconfig default file sdkconfig.default.hw30 has
>>>>>>>        been provided. That can be merged/copied to sdkconfig as appropriate.
>>>>>>> 
>>>>>>>     4] For ovms hardware v3.1, a sdkconfig default file sdkconfig.default.hw31 will
>>>>>>>        been provided in the next update.
>>>>>>> 
>>>>>>>     5] It is recommended that developers perform at least one full 'make flash'
>>>>>>>        with this version, to update the bootloader to latest. Note that the
>>>>>>>        sdkconfig.default.* files are now set to require bootloader at least v2.1
>>>>>>>        (or later), and bootloader v2.0 is no longer supported.
>>>>>>> 
>>>>>>>     Enjoy.
>>>>>>> 
>>>>>>> 
>>>>>>>> On 15 Jan 2018, at 7:25 AM, Mark Webb-Johnson <mark at webb-johnson.net> <mailto:mark at webb-johnson.net> <mailto:mark at webb-johnson.net> <mailto:mark at webb-johnson.net> wrote:
>>>>>>>> 
>>>>>>>> Merge is ok, but triple checking a couple of things. Should be committed and pushed within the next half hour.
>>>>>>>> 
>>>>>>>> Regards, Mark
>>>>>>>> 
>>>>>>>>> On 15 Jan 2018, at 1:09 AM, Stephen Casner <casner at acm.org> <mailto:casner at acm.org> <mailto:casner at acm.org> <mailto:casner at acm.org> wrote:
>>>>>>>>> 
>>>>>>>>> Mark,
>>>>>>>>> 
>>>>>>>>> It looks like you were not able to do the sdkconfig.default and merge
>>>>>>>>> as you planned?
>>>>>>>>> 
>>>>>>>>>                                                       -- Steve
>>>>>>>>> 
>>>>>>>>>> On Fri, 12 Jan 2018, Stephen Casner wrote:
>>>>>>>>>> 
>>>>>>>>>>> On Sat, 13 Jan 2018, Mark Webb-Johnson wrote:
>>>>>>>>>>> 
>>>>>>>>>>> @Steve can you update our master clone to latest from Espressif and
>>>>>>>>>>> make sure your stuff is still ok?
>>>>>>>>>> I have just now done this.  I had already done a rebase a few days ago
>>>>>>>>>> before committing the improved version of the OS changes so I could
>>>>>>>>>> issue a pull request.  There were a few commits since then, which I
>>>>>>>>>> have now merged.  My code still runs correctly.
>>>>>>>>>> 
>>>>>>>>>>> I guess steps for developers will be:
>>>>>>>>>>> 
>>>>>>>>>>> 1) pull the openvehicles IDF and switch to master branch. Sub module update.
>>>>>>>>>>> 
>>>>>>>>>>> 2) download and install xtensa build chain to match.
>>>>>>>>>>> 
>>>>>>>>>>> 3) update OVMS master, make clean, check menu config, then build and play.
>>>>>>>>>> Sounds right.
>>>>>>>>>> 
>>>>>>>>>>> I can get my part done by Sunday 14th night (HKT), so suggest to do
>>>>>>>>>>> the Merge of the OVMS firmware master branch then.
>>>>>>>>>> I'll be sleeping then, so you can go ahead and do the merge.
>>>>>>>>>> 
>>>>>>>>>>                                                       -- Steve
>>>>>>>>> _______________________________________________
>>>>>>>>> OvmsDev mailing list
>>>>>>>>> OvmsDev at lists.teslaclub.hk <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk>
>>>>>>>>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev>
>>>>>>>> _______________________________________________
>>>>>>>> OvmsDev mailing list
>>>>>>>> OvmsDev at lists.teslaclub.hk <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk>
>>>>>>>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev>
>>>>>> _______________________________________________
>>>>>> OvmsDev mailing list
>>>>>> OvmsDev at lists.teslaclub.hk <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk>
>>>>>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev>
>>>>> -- 
>>>>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
>>>>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> OvmsDev mailing list
>>>>> OvmsDev at lists.teslaclub.hk <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk> <mailto:OvmsDev at lists.teslaclub.hk>
>>>>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev> <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev>
>>>> -- 
>>>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
>>>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>>>> _______________________________________________
>>>> OvmsDev mailing list
>>>> OvmsDev at lists.teslaclub.hk <mailto:OvmsDev at lists.teslaclub.hk>
>>>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev>
>>> 
>>> 
>>> _______________________________________________
>>> OvmsDev mailing list
>>> OvmsDev at lists.teslaclub.hk <mailto:OvmsDev at lists.teslaclub.hk>
>>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev <http://lists.teslaclub.hk/mailman/listinfo/ovmsdev>
>> 
>> -- 
>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.teslaclub.hk <mailto:OvmsDev at lists.teslaclub.hk>
>> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev
> 
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.teslaclub.hk
> http://lists.teslaclub.hk/mailman/listinfo/ovmsdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20180119/e1a48853/attachment.htm>


More information about the OvmsDev mailing list