-->
Page 47 of 77

Re: "universal I/O bridge"

PostPosted: Wed Jan 31, 2018 10:41 am
by dhouston
If you look at the schematic for the WeMos D1 mini you'll see it uses the same reset method as NodeMCU. It also has the pullups, pulldowns, etc. you mention. There's a link to the schematic about midpage at...https://wiki.wemos.cc/products:d1:d1_mini

I also would expect the Espressif Downloader to take note of any problems. It has had no complaints. See the Tools link at...https://www.espressif.com/en/products/hardware/esp32/resources

Re: "universal I/O bridge"

PostPosted: Wed Jan 31, 2018 12:15 pm
by eriksl
Again I'd say, try to flash one of the many other firmwares and see if it works.

Re: "universal I/O bridge"

PostPosted: Fri Feb 02, 2018 3:31 am
by eriksl
wogoos wrote:Why not use a single chip Atmega328 as General purpose IO controller and hook that one up to an ESP. All Your have all possible interfaces available and can do the prepossessing on the Atmega. Simple and easy.

I have considerded this several times over the past few times. I have some 328's lying around and also a programmer (no Arduino in this house!). I have been maintaining a suitable firmware for it as well, that can read and interprete a variety of i2c sensors.

Why didn't I persuit this path: the esp8266 can do everything I need. It lacks quite a bit that a 328 has in hardware, but the faster cpu core (32 bits 80 or 160 Mhz vs. 8 bits 8-20 Mhz) makes up for that.

I made an implementation of PWM in software that just as good as the hardware implemention in the 328, in most situations. Besides that, you can get to choose your GPIO's freely and you can have up to 32 channels, where the 328 can only have two at 16 bits and two at 8 bits. For a reasonable speed at 16 bits with the 328, you need to have the cpu running at 16-20 Mhz, which it can do only at 5 V. The esp8266 has no trouble there.

The same goes for the I2C interface. I made an implementation in software and it works really great. In no way it has less functionality than the hardware implementation of the 328 and is more flexible and easier to use. I only think the 328's I2C clock can be cranked up even more, the highest I can get is somewhere around 500 kHz (which is already too fast for normal and fast I2C), the 328 might be able to get that to some 2 Mhz.

So then the question remains, what are we still missing that the esp8266 can't implement in software?

build error regarding __VA_ARGS__

PostPosted: Sun Aug 05, 2018 2:56 pm
by INYRMind
Hi, looks like a very promising project. Thank you for make that available.

I got a build error:
Code: Select allCC ota.c
In file included from ota.h:4:0,
                 from ota.c:1:
ota.c: In function 'application_function_flash_select':
util.h:232:53: error: expected expression before ')' token
  string_format_flash_ptr(dst, fmt_flash, __VA_ARGS__); \
                                                     ^
ota.c:768:2: note: in expansion of macro 'string_format'
  string_format(dst, "ERROR flash-select: no OTA image\n");
  ^
Makefile:333: recipe for target 'ota.o' failed
make: *** [ota.o] Error 1

Looks like my compiler dont like "__VA_ARGS__", as far as I know this is not a standard.

Code: Select all$~/esp8266-universal-io-bridge$ /opt/esp-open-sdk/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc --version
xtensa-lx106-elf-gcc (crosstool-NG crosstool-ng-1.22.0-60-g37b07f6f) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


By the way I am using ubuntu 18.04. I just cloned and compiled the sdk previously succesful.

Thanks!