Forum Replies Created
-
AuthorPosts
-
Hi Ludophot,
I do the installation process only on Arduino IDE, I use Sloeber Eclipse and I have the same problem.
At this moment I write code with my sloeber and build with Arduino IDE.
The installation process can be very tedious on other IDE because they do not involve the use of another xtensa compiler and esptool.
But if i find some time I try to do.
Bye Renzo
Perfect!
In the future I try to integrate the process in my library, but now I’m happy that you had found the solution.
Bye RenzoI think I only add/change this part
WiFiSSLClient client; if (client.connectSSL(server, port)==1){
and all work.
Hi Mauelepilot,
to send email with MKR WiFi 1010 and WiFININA you must do some additional work.
I find this
https://gitlab.com/gratefulfrog/arduino-wifinina-gmail-smtp
seems you must enable 2 factor security and generate secret.
Give me a feedback if this can solve the problem
Bye RenzoIt’s very strange, I try to send an email now from an esp32 DEV KIT v1 and work correctly.
Please post your code, and in the file EMailSenderKey.h uncomment this line
//#define EMAIL_SENDER_DEBUG
and send the result (cover the login and passwd).
Thanks RenzoHi manuelpilot,
- please check is lessecureapp is activated,
- if you tried to spoof the sender address using google smtp (for instance, using FromAddress as something other than the name of my gmail account)
- check if you have some network limitation from firewall or VPN redirect.
Give me a feedback Bye Renzo
Hi John,
put all in DEBUG by uncommenting this line
// #define LoRa_E32_DEBUG
and check that the Serial is correct in this line
#define DEBUG_PRINTER Serial
Bye Renzo
26 November 2020 at 08:34 in reply to: EMailSender-master Library problem to manage email variable #8037Hi windip,
I think It’s better if you use an array of String instead of char*, in that situation you receive a warning like
ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
to manage this situation I use a simple String[].
This evening or tomorrow I’m going to release a new version (2.1.4) that can take a String[] or char* [] and convert It inside the library with a converter like
const char** toCharArray(String arr[], int num) { // If we ever alloc with new with have to delete const char** buffer = new const char*[num]; for(int i = 0; i < num; i++) { buffer[i] = arr[i].c_str(); } return buffer; }
and
const char** toCharArray(char* arr[], int num) { // If we ever alloc with new with have to delete const char** buffer = new const char*[num]; for(int i = 0; i < num; i++) { buffer[i] = arr[i]; } return buffer; }
I think It’s what you need.
Bye Renzo
Hi Poki,
if you have some exception on the behavior probably It’s the noise, the encoders have a lot of noise.
Try to change the algorithm, or add some capacitor to absorb It.
Bye RenzoHi Poki,
I checked and tested various encoder, and I have had multiple response different from different encoder.
So my solution to cover is this:#define BASIC_ENCODER_ALGORITHM // #define MISCHIANTI_ENCODER_ALGORITHM // #define SEQUENCE_ENCODER_ALGORITHM_REDUCED // #define SEQUENCE_ENCODER_ALGORITHM // #define POKI_ENCODER_ALGORITHM
I give the possibility to use different algorithm for different encoder like this
void updateEncoder(){ changed2 = pcf8574.readEncoderValueSequenceReduced(P6, P5, &encoderValue2); changed = pcf8574.readEncoderValue(encoderPinA, encoderPinB, &encoderValue, true); // int vale = pcf8574.readEncoderValue(encoderPinA, encoderPinB); // if (vale!=0){ // changed = true; // } // encoderValue = encoderValue + vale; bool val = pcf8574.digitalRead(P2); if (val!=valPrec){ changed = true; valPrec = val; encoderButtonVal = val; } bool val2 = pcf8574.digitalRead(P4); if (val2!=valPrec2){ changed2 = true; valPrec2 = val2; encoderButtonVal2 = val2; } }
With this solution I can use different modules and different encoders with succes.
Give me a feedbback.
Bye RenzoThere is another bug
byte encoderValues = B00000000;
must be
volatile byte encoderValues = B00000000;
Try It also please.
Thanks RenzoHi poki,
I had tested with 2 encoder and BASIC_ENCODER_ALGORITHM work fine for me, but with yours first encoder only increase.But I’m going to to do more test.
Bye Renzo
Hi Poki,
thanks for your solution, but your solution not work with my encoder, the first encoder only increment when rotate, the second work correctly.
I think there are some difference from the encoder, so I’m going to add you r algorithm to the library for all people that have your same type of encoder.
Now we have:#define POKI_ENCODER_ALGORITHM //#define BASIC_ENCODER_ALGORITHM //#define MISCHIANTI_ENCODER_ALGORITHM
Thanks for your support.
Hi poki,
change this lines// Select an algorithm to manage encoder progression #define BASIC_ENCODER_ALGORITHM //#define MISCHIANTI_ENCODER_ALGORITHM
comment MISCHIANTI_ENCODER_ALGORITHM and decomment BASIC_ENCODER_ALGORITHM, and give me a feedback.
Thanks Renzo
Hi Poky,
I never test the internal implementation with 2 encoder, It’s possible that there is a bug,to bypass the problem you can try to implement externally the management of 2 encoder, there is an example of external implementation on the relative tutorial
PCF8574 i2c digital I/O expander: Arduino, esp8266 and esp32, rotary encoder
But I try to fix as soon as possible.
Bye Renzo
Hehehhe,
no no, sorry, I did not understand, and I have not included examples that use pins different from the standard.
Instead of use this constructor
DHT12 dht12;
you can use this
DHT12 dht12(D1, D2);
and you can specify the alternati pins you want.
I think It’s what you need.
Bye Renzo
-
AuthorPosts