Forum Replies Created

Viewing 15 posts - 196 through 210 (of 996 total)
  • Author
    Posts
  • Renzo Mischianti
    Keymaster

      Thanks a lot for the information, Роман.
      Bye Renzo

      in reply to: Get Firmware version of Ebyte E220-900T30D #28263
      Renzo Mischianti
      Keymaster

        Hi fabiooo,
        I don’t use AT commands, you can retrieve that info with ModuleInformation, more info in this section.

        Do You use currently the AT commands?
        Ho do you query that info?

        Bye Renzo

        in reply to: LoRa E32 E22 E220 Module Compatibility #28259
        Renzo Mischianti
        Keymaster

          Hi wdaum,
          if I remember the modules aren’t compatible, they are based on different technologies and EByte has changed the cryptography systems in the various models.
          Bye Renzo

          in reply to: Issues with E22 Transmitters Reception #28238
          Renzo Mischianti
          Keymaster

            Hi Ludophot,
            install an antenna; if not, you use It and retry.

            The other problem is that I think there is a memory leak. Try to add some checks on the free memory

            
              Serial.println(ESP.getFreeHeap());
            

            Bye Renzo

            Renzo Mischianti
            Keymaster

              I found this tutorial, I think It’s what you need

              Serial/UART Firmware Upload

              A second firmware upload method is to use serial (UART) upload, which works in much the same way as the standard way of uploading code to an Arduino. Like in the case of the Arduino serial upload this approach relies on a pre-uploaded bootloader. My understanding is that the Nucleo boards already have this bootloader in place.

              UART to Nucleo connections

              • Connect GND and 5V for power.
              • Place a jumper between BOOT0 and VDD to select the serial upload mode.
              • Connect PA9 to UART RX
              • Connect PA10 to UART TX
              • Power cycle to reset board and enter serial upload mode

              IMG_0852|666x500

              Serial Uploader Tool

              On Windows ST provide a tool for uploading firmware over serial called STM32-Flasher: http://www.st.com/en/development-tools/flasher-stm32.html

              For Linux there is a neat command line tool called stm32flash available in the package manager: http://manpages.ubuntu.com/manpages/bionic/man1/stm32flash.1.html

              It can be installed with the following apt-get install:

              sudo apt-get install stm32flash
              

              I compiled the Arduino example Blink for the Nucleo64 STM32F303 using the Arduino IDE and then fetched the compliled .bin file from the /tmp folder that Arduino creates.

              I could then upload to the STM32F303 by running:

              sudo stm32flash -b 115200 -w blink.ino.bin /dev/ttyUSB0 
              

              Terminal output:

              $ sudo stm32flash -b 115200 w Blink.ino.bin /dev/ttyUSB0
              stm32flash 0.5
              
              http://stm32flash.sourceforge.net/
              
              Using Parser : Raw BINARY
              Interface serial_posix: 115200 8E1
              Version      : 0x31
              Option 1     : 0x00
              Option 2     : 0x00
              Device ID    : 0x0446 (STM32F302xD(E)/F303xD(E)/F398xx)
              - RAM        : 64KiB  (6144b reserved by bootloader)
              - Flash      : 512KiB (size first sector: 2x2048)
              - Option RAM : 16b
              - System RAM : 8KiB
              Write to memory
              Erasing memory
              Wrote address 0x08002c5c (100.00%) Done.
              in reply to: STM32L452 SPI2 port assignation not working #28048
              Renzo Mischianti
              Keymaster

                Hi Nezha,
                thanks for your feedback, not all makers work with STM32, if you’d like to share your projects we are happy to publish Them.
                Bye Renzo

                Renzo Mischianti
                Keymaster

                  Hi jiangzhiyu233,
                  I executed your code and I replicated the issue. It seems that there are some problems when writing and reading at the same time.
                  I do a little fix, try It, and give me feedback.
                  Thanks Renzo

                  Renzo Mischianti
                  Keymaster

                    Hi jiangzhiyu233,
                    I retry the code and I don’t have that behavior, do you use the example provided in github??
                    Bye Renzo

                    in reply to: STM32L452 SPI2 port assignation not working #28008
                    Renzo Mischianti
                    Keymaster

                      Hi Nezha,
                      your problem. It’s very strange.
                      I think you can try to use a “first choice” SPI2 and “second choice” in coherence, like so:

                      PB15
                      PB14
                      PB10

                      and

                      PC3
                      PC2
                      PB13

                      After that test, you can try the official STMicroelectronics core to check if STM32duino.

                      Bye Renzo

                      in reply to: STM32L452 SPI2 port assignation not working #27975
                      Renzo Mischianti
                      Keymaster

                        Hi Nezha,
                        I write a little article about that and when I do the test, I follow the pinout I retrieve from the STMicroelectronic core code.

                        I check your pin selection, and it seems to be ok.

                        
                        #ifdef HAL_SPI_MODULE_ENABLED
                        WEAK const PinMap PinMap_SPI_MOSI[] = {
                          {PA_7,      SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PA_12,     SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PB_5,      SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PB_5_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
                          {PB_15,     SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
                          {PC_3,      SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
                          {PC_12,     SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
                          {NC,        NP,   0}
                        };
                        #endif
                        
                        #ifdef HAL_SPI_MODULE_ENABLED
                        WEAK const PinMap PinMap_SPI_MISO[] = {
                          {PA_6,      SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PA_11,     SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PB_4,      SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PB_4_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
                          {PB_14,     SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
                          {PC_2,      SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
                          {PC_11,     SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
                          {NC,        NP,   0}
                        };
                        #endif
                        
                        #ifdef HAL_SPI_MODULE_ENABLED
                        WEAK const PinMap PinMap_SPI_SCLK[] = {
                          {PA_1,      SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PA_5,      SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PB_3,      SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
                          {PB_3_ALT1, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
                          {PB_10,     SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
                          {PB_13,     SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
                          {PC_10,     SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
                          {NC,        NP,   0}
                        };
                        #endif
                        

                        The SS isn’t so important but if you can try the default also

                        
                        // SPI definitions
                        #ifndef PIN_SPI_SS
                          #define PIN_SPI_SS            PA4
                        #endif
                        #ifndef PIN_SPI_SS1
                          #define PIN_SPI_SS1           PA15
                        #endif
                        #ifndef PIN_SPI_SS2
                          #define PIN_SPI_SS2           PB0
                        #endif
                        #ifndef PIN_SPI_SS3
                          #define PIN_SPI_SS3           PNUM_NOT_DEFINED
                        #endif
                        #ifndef PIN_SPI_MOSI
                          #define PIN_SPI_MOSI          PA7
                        #endif
                        #ifndef PIN_SPI_MISO
                          #define PIN_SPI_MISO          PA6
                        #endif
                        #ifndef PIN_SPI_SCK
                          #define PIN_SPI_SCK           PA1
                        #endif
                        

                        In the code, you begin two times the spi interface, and I think It can generate some problems.
                        Try to use a configuration declaration like this

                        
                        //    SD card attached to the secondary SPI as follows:
                        //        SS    = PB2;
                        //        MOSI  = PC3;
                        //        MISO  = PB15;
                        //        SCK   = PB10;
                        
                        #define SD_CS_PIN PB12
                        static SPIClass mySPI2(PC2, PC3, PB10, SD_CS_PIN);
                        #define SD2_CONFIG SdSpiConfig(SD_CS_PIN, DEDICATED_SPI, SD_SCK_MHZ(18), &mySPI2)
                        

                        then only one begin.

                        
                          // we'll use the initialization code from the utility libraries
                          // since we're just testing if the card is working!
                          if (!SD.begin(SD2_CONFIG)) {
                          // if (!SD.begin(SD_CS_PIN)) {
                            Serial.println("initialization failed. Things to check:");
                            Serial.println("* is a card inserted?");
                            Serial.println("* is your wiring correct?");
                            Serial.println("* did you change the chipSelect pin to match your shield or module?");
                            while (1);
                          } else {
                            Serial.println("Wiring is correct and a card is present.");
                          }
                        
                        

                        But check the STM32duino core can change the pin.

                        Try to use also the example I wrote and tested for the Arduino environment.

                        How to use SD card with stm32 and SdFat library

                        Bye Renzo

                        in reply to: EMailSender not compiling #27964
                        Renzo Mischianti
                        Keymaster

                          Thanks Mark,
                          I fixed It.
                          Thanks again Renzo

                          in reply to: Adapting Lora Water Tank Controller to My Farm #27949
                          Renzo Mischianti
                          Keymaster

                            Hi,
                            I share It on PCBWay, not directly Gerber but you can order from PCBWay at the cost of the PCB.
                            Bye Renzo

                            in reply to: Adapting Lora Water Tank Controller to My Farm #27931
                            Renzo Mischianti
                            Keymaster

                              In the master, you have a Relay with 3 exit
                              NO (Normally open) – COM (Input) – NC (Normally close)
                              if you put in COM 100v you can use NO e NC to activate an external SSR.

                              I think It’s your need.

                              in reply to: Adapting Lora Water Tank Controller to My Farm #27926
                              Renzo Mischianti
                              Keymaster

                                Hi John,
                                In my farm I using a small pump with high prevalence (70m),

                                and it work without problem with the 200w panel I add a charging regulator to send 12v-like specs

                                The flow is less than the home water tap, but on a sunny day, fill the 1000l tank.

                                Solar panel with voltage regulator and charging battery

                                If you follow the indication of the Tank project, you can connect the Master that have two voltage regulator and a batter input connector that can be powered directly from 12v.

                                The client has the panel input and a voltage regulator with a rechargeable lithium battery and after it functions It goes into deep sleep.

                                This system I think can cover your expectations.

                                Bye Renzo

                                Renzo Mischianti
                                Keymaster

                                  Hi DR-DNK,
                                  I check the library and it works for me. Try to check your environment.
                                  Bye Renzo

                                Viewing 15 posts - 196 through 210 (of 996 total)