00:30:11  * sin8hquit (Quit: Leaving.)
02:08:08  * creationixquit (Ping timeout: 250 seconds)
02:08:15  * creationixjoined
02:36:32  * sin8hjoined
02:44:52  * kolbanjoined
02:54:48  * zju_x1quit (Read error: Connection reset by peer)
02:54:48  * zju_25quit (Read error: Connection reset by peer)
02:55:58  * zju3joined
02:57:00  * zju_xjoined
03:01:17  * sin8hquit (Quit: Leaving.)
03:02:08  * brsonquit (Ping timeout: 256 seconds)
03:03:44  * sin8hjoined
03:35:55  * sin8hquit (Quit: Leaving.)
03:47:32  * sin8hjoined
03:52:05  * sin8hquit (Client Quit)
03:59:38  * tunniclm_quit (Ping timeout: 245 seconds)
04:27:35  * sin8hjoined
04:44:54  * thefourtheyejoined
04:58:17  * brsonjoined
04:59:22  * sin8hquit (Quit: Leaving.)
05:01:00  * sin8hjoined
05:13:41  * brsonquit (Ping timeout: 248 seconds)
05:17:22  * brsonjoined
05:27:28  * brsonquit (Ping timeout: 260 seconds)
05:27:48  * brsonjoined
05:32:19  * brsonquit (Read error: Connection reset by peer)
05:38:01  * brsonjoined
06:50:39  * sin8hquit (Quit: Leaving.)
07:18:55  * seishunjoined
07:21:11  * rendarjoined
07:48:59  * sin8hjoined
08:40:53  * seishunquit (Ping timeout: 245 seconds)
09:18:38  * brsonquit (Ping timeout: 258 seconds)
09:24:59  * brsonjoined
09:31:30  * brsonquit (Ping timeout: 268 seconds)
09:33:19  * brsonjoined
10:08:22  * brsonquit (Read error: Connection reset by peer)
11:27:56  * Jacob843quit (Remote host closed the connection)
11:28:19  * Jacob843joined
11:29:37  * sin8hquit (Quit: Leaving.)
11:31:06  * thealphanerdquit (Quit: farewell for now)
11:31:37  * thealphanerdjoined
12:22:49  * zju_xquit (Remote host closed the connection)
12:24:42  * zju_xjoined
12:27:27  * sin8hjoined
12:29:02  * [spoiler]joined
12:32:10  * [spoiler]quit (Client Quit)
12:32:25  * [spoiler]joined
12:47:29  * [spoiler]quit (Quit: Cheers!)
12:47:42  * [spoiler]joined
14:08:41  * sin8hquit (Quit: Leaving.)
14:16:49  * sin8hjoined
14:29:35  * sin8hquit (Quit: Leaving.)
14:57:18  * Fishrock123joined
15:18:58  <kolban>Howdy folks. This is going to be a dumb post ... so apologies for that. My goal is to see if IoT.py can be run on the new ESP32. We have JerryScript running there just fine. Next task is to lookinto libuv. Does anyone know of any porting guides or other thoughts on the environment needed to run libuv on non Posix platforms?
15:31:54  <txdv>can you give me link to iot.py?
15:32:22  <txdv>if that thing includes pyton somehow, then its out of the question
15:33:07  <txdv>kolban: how much ram do you guys have there?
15:33:25  <kolban>512K
15:34:05  <kolban>I am so sorry ... I am in the US and up late last night ... when I said "IoT.py" I meant "IoT.js"
15:34:08  <txdv>and iot.py is a full python?
15:34:11  <kolban>https://github.com/Samsung/iotjs
15:34:54  <txdv>isn't that ... jerry script?
15:36:27  <kolban>Yes ... JerryScript. We have JerryScript running just fine on the ESP32. Reading at IoT.js, the other core pre-req is libuv.
15:37:42  <txdv>there is no porting guide
15:37:56  <txdv>you need to dig into the build system, create your own core files for the esp32
15:38:11  <txdv>are you running some sort of OS on the esp32?
15:38:17  <txdv>does have a ethernet?
15:39:06  <kolban>ESP32 runs FreeRTOS plus a rich SDK provided by Espressif the makers of ESP32. The ESP32 has built in networking via WiFi and a full BSD sockets layer built on top of lwip.
15:39:45  <kolban>It also includes a full port of "newlib" (https://sourceware.org/newlib/) which provides the majority of "posix like" APIs.
15:40:43  <kolban>High level ... ESP32 has 512K ram, 4MB flash, 2x 240MHz cores base don Xtensa instruction set. Fully C/C++ tool chain.
15:41:59  <kolban>Do we know (at a high level) the OS environmental services (coarse grained) that libuv expects to find available?
15:42:57  <txdv>something like a kevent interface?
15:43:01  <txdv>or epoll?
15:49:34  <txdv>thos devices usually have some real small OS
15:50:13  <kolban>Grunging through the libuv sources ... it seems that there may be an expectation of a "Unix like" environment beneath the covers.
15:50:22  <kolban>I see references to pthreads ... which ESP32 doesn't have.
15:50:35  <txdv>that is the least of your problems
15:50:51  <txdv>you want the network event loop functionality
15:50:56  <kolban>Also looking here ... https://github.com/libuv/libuv/tree/v1.x/src
15:51:27  <kolban>I seem to seem that there are two core source trees .. Win and unix. Which makes me think that the code was written to either assume full windows or full Unix ...
15:51:51  <kolban>so a small embedded device is likely not going to have the supporting services a libuv simple port would need.
15:52:06  <txdv>not really
15:54:08  <txdv>kolban: what libuv does is exporeses a similar interface for many OSes
15:54:25  <txdv>main focus on networking
15:54:34  <txdv>asynchronous networking
15:55:02  <txdv>if you have a small device with some well defined api which is similar and asynchronous, porting it will not be much of a trouble
15:55:12  <txdv>i just dont really see what you got there with your esp32
15:55:23  <txdv>newlib and lwip seem to be unrelated to esp32
15:57:20  <kolban>The ESP32 (as you know) is a new device in the market. The SDK for writing C applications on the ESP32 comes with newlib and lwip pre-ported. Those provide Posix APIs and networking. The implementation of those APIs has been mapped to the ESP32 hardware so we can code C apps on top of Newlib and lwip and ... for the most part ... we have a higher level abstraction that satisfies many Github open source pre-reqs. My challenge
15:57:20  <kolban>was to see what OS services are needed by libuv and see where the delta may be.
15:58:11  <txdv>can you show me the lwip port for esp32?
15:59:32  <kolban>For example ... JerryScript ported 100% cleanly. No issues. The project known as IoT.js provides a "Node.js" like set of services for JerryScript such as web servers and file I/O. However, IoT.js is built on top of BOTH JerryScript and libuv ... which means that to get IoT.js going (my primary goal), I need to satisfy the libuv dependencies on IoT.js ... hence my entry into the libuv world.
15:59:38  <kolban>sure can ... 1 sec.
15:59:48  <kolban>https://github.com/espressif/esp-idf
15:59:57  <kolban>This is the project known as ESP-IDF
16:00:05  <kolban>ESP is the name for the ESP32 set of devics.
16:00:14  <kolban>IDF is the IoT development framework.
16:00:25  <kolban>Basically this is the SDK for developing ESP32 applications.
16:00:40  <kolban>The ESP-IDF is broken up into "components"
16:00:46  <kolban>https://github.com/espressif/esp-idf/tree/master/components
16:01:00  <kolban>Each of which provides a major section of "function" to an ESP32 programmer.
16:01:28  <kolban>When one writes a C program for compilation against the ESP32, one uses this SDK and the headers and libraries link together to produce the result.
16:02:05  <kolban>The implementation of these functions (althought exposed) isn't normally "touched" by the C programmers writing the apps. These ports/components provide the services on which an ESP32 programmer builds.
16:02:39  <kolban>The "lwip" is the TCP/IP implementation stack used by ESP32 ... and unless one is really keen, we "leave it alone" and merely program to the exposed networking APIs (BSD Sockets).
16:03:10  <txdv>standard bsd sockets wont cut it
16:03:24  <txdv>you need some async interface like kevent, epoll, etc.
16:03:52  <txdv>if it mimics epoll or some keven or some other that libuv supports, then you might not need to port much
16:04:02  <txdv>but if it doesnt you will have to invest more work
16:04:06  <kolban>Perfect ... and that's what I was fishing for ... to see if there were environmental hooks beyond what might be available in the ESP32 as it stands.
16:37:24  * brsonjoined
17:42:38  * seishunjoined
17:43:56  * zju3quit (Remote host closed the connection)
18:30:28  * rendar_joined
18:33:38  * rendarquit (Ping timeout: 252 seconds)
20:49:02  * brsonquit (Ping timeout: 256 seconds)
21:02:24  * brsonjoined
21:50:38  * seishunquit (Read error: Connection reset by peer)
21:56:47  * sin8hjoined
22:07:45  * seishunjoined
22:28:18  * tunniclm_joined
22:35:08  * sin8hquit (Quit: Leaving.)
22:41:44  * Fishrock123quit (Remote host closed the connection)
22:47:08  * brsonquit (Ping timeout: 245 seconds)
22:50:34  * brsonjoined
22:50:51  * rendar_quit (Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!)
23:05:03  * seishunquit (Ping timeout: 245 seconds)
23:07:39  * Fishrock123joined
23:49:41  * brsonquit (Ping timeout: 244 seconds)
23:56:18  * tunniclm_quit (Ping timeout: 252 seconds)