Autor Tema: RN2903 Lora  (Leído 5020 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cvargcal

  • PIC16
  • ***
  • Mensajes: 166
RN2903 Lora
« en: 21 de Marzo de 2018, 19:00:06 »
Saludos, Estoy loco con un tema

Necesito dormir este modulo y luego despertarlo cuando lo necesite
http://ww1.microchip.com/downloads/en/DeviceDoc/40001811A.pdf

el problema es que se duerme, pero no logro despertarlo.

En arduino se depierta asi

Código: C
  1. digitalWrite(11, LOW); // Set pin to serial "idle" state.
  2. pinMode(11, OUTPUT);
  3. digitalWrite(11, HIGH); // Send BREAK
  4. delay(20); // for 10ms
  5. mySerial.begin(9600);
  6. mySerial.write(0x55);

Pero no logro hacerlo funcionar en CCS
Según el manual se debe poner a 0 el pin TX  y luego enviarle el  0x55, es un "break condition " pero no se que es...
¿Alguna idea aparte de hacerlo por el pin RESET?

Código: C
  1. fprintf(lora,"sys sleep 40000\r\n");   // // Enter sleep mode for 40 seconds


despertar:

Código: C
  1. output_low(TXD_Lora);    // Start break signal on MCU TX pin
  2. delay_ms(20);
  3. output_high(TXD_Lora);   // Start break signal on MCU TX pin
  4. fprintf(lora, 0x55);            // Send magic break character (auto bauding)

« Última modificación: 21 de Marzo de 2018, 19:04:05 por cvargcal »

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:RN2903 Lora
« Respuesta #1 en: 21 de Marzo de 2018, 20:19:42 »
Prueba al cambiar el output_high(TXD_Lora); por output_float(TXD_Lora).

 Asegurate de que tras el break condition tu micro efectivamente envia el 0x55 al modulo, miralo con un terminal en la pc mismo.

Saludos


Desconectado cvargcal

  • PIC16
  • ***
  • Mensajes: 166
Re:RN2903 Lora
« Respuesta #2 en: 22 de Marzo de 2018, 03:13:22 »
...

Saludos

Nada, no funciona...
 es algo  como esto:

Código: [Seleccionar]
#byte TXSTA=0xFAC
#bit TXEN=TXSTA.5
#byte C_LAT=0xF8B
#bit TXBIT=C_LAT.6

void send_break(int8 msec) {
    C_LAT=0; //ensure latch is low, before disabling UART TX
    TXSTA=0;
    delay_ms(msec);
    TXSTA=1;
}

o eesto

Código: [Seleccionar]
#include <18F452.h>
#fuses XT,NOWDT,PUT,BROWNOUT,NOLVP
#use delay(clock=4000000)

#define BAUDRATE 9600
#define TX_PIN  PIN_C6
#define RX_PIN  PIN_C7

#use rs232(baud=BAUDRATE, xmit=TX_PIN, rcv=RX_PIN, ERRORS)

void send_break(int8 time_ms)
{
// Disable the UART and send a Break
// for the specified time.
setup_uart(FALSE); 
output_low(TX_PIN);
delay_ms(time_ms);

// Re-enable the UART.
setup_uart(TRUE);
set_uart_speed(BAUDRATE);
}

//======================================
void main(void)
{
int8 i;

while(1)
  {
   // Send 10 bytes of 0x55 to show UART activity
   for(i=0; i<10; i++)
       putc(0x55);
   
   send_break(20);
  }
}

Pero no funciona, se desactiva el RX,
el pic que uso es el <18LF26K22.h>, pero no se como se configura manualmente esos registros

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re:RN2903 Lora
« Respuesta #3 en: 22 de Marzo de 2018, 11:45:34 »
Hola, ya probaste lo que te respondieron en el foro de CCS ??

Saludos.
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado cvargcal

  • PIC16
  • ***
  • Mensajes: 166
Re:RN2903 Lora
« Respuesta #4 en: 25 de Marzo de 2018, 12:13:57 »
Hola, ya probaste lo que te respondieron en el foro de CCS ??

Saludos.



Código: C
  1. //******* Break Condition ***************
  2. void send_break(int16 time_ms){
  3.    // Disable the UART and send a Break  for the specified time.
  4.    setup_uart(FALSE);
  5.    output_low(TX_PIN);
  6.    delay_ms(time_ms);
  7.  
  8.    // Re-enable the UART. - sending 'non zero', enables and sets the baud rate
  9.    setup_uart(BAUDRATE);
  10.    fputc(0x55;         //The character after the break _[u]must[/u]_ be 0x55
  11. }

Si, pero sigue sin funcionar... veo que todos tienen el mismo problema, esa misma pregunta esta en muchas  partes y tiene la misma respuesta  codigo "arduino"...  a la final opte por usar el PIN RESET del modulo... no me gusta mucho esa idea, pero en fin...


Muchas gracias.


« Última modificación: 25 de Marzo de 2018, 12:16:47 por cvargcal »

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:RN2903 Lora
« Respuesta #5 en: 25 de Marzo de 2018, 19:01:26 »
Cargalo asi y mira a ver que pasa..


Código: C
  1. #include <18F452.h>
  2. #fuses XT,NOWDT,PUT,BROWNOUT,NOLVP
  3. #use delay(clock=4000000)
  4.  
  5. #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS)
  6.  
  7. void send_break(int8 time_ms)
  8. {
  9. output_low(TX_PIN);
  10. delay_ms(time_ms);
  11. output_drive(TX_PIN);
  12. putc(0x55);
  13. }
  14.  
  15.  
  16. void main(void)
  17. {
  18. int8 i;
  19.  
  20. while(1)
  21.   {
  22.  
  23.    for(i=0; i<10; i++)
  24.        putc(0x55);
  25.    
  26.    send_break(20);
  27.   }
  28.  
  29. }

« Última modificación: 26 de Marzo de 2018, 14:39:58 por remi04 »

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re:RN2903 Lora
« Respuesta #6 en: 19 de Octubre de 2018, 18:08:09 »
Prueba dejar la velocidad estándar del módulo (57600) y mandar un break de 1 milisegundo solamente.

Comenta si tuviste exito, gracias!!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado cvargcal

  • PIC16
  • ***
  • Mensajes: 166
Re:RN2903 Lora
« Respuesta #7 en: 05 de Noviembre de 2018, 04:29:47 »
Prueba dejar la velocidad estándar del módulo (57600) y mandar un break de 1 milisegundo solamente.

Comenta si tuviste exito, gracias!!

Nada, intente de muchas formas y no se logra despertar...ademas, ese modulo tiene un problema... se despierta  solo (cuando detecta un ruido en RX) y el autobaud se pone en una velocidad rara de la cual es imposible sabe y sincronizar. Esto me lo dijo el representante de ese modulo para latinoamerica.... el recomienda cambiar el firmware... aun no lo hice porque implica cambiar la frecuencia de Gateway.
Para concluir, opte por usar un mosfet y mantener apagado el modulo mientras no se usa.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re:RN2903 Lora
« Respuesta #8 en: 07 de Noviembre de 2018, 01:30:53 »
Prueba dejar la velocidad estándar del módulo (57600) y mandar un break de 1 milisegundo solamente.

Comenta si tuviste exito, gracias!!

Nada, intente de muchas formas y no se logra despertar...ademas, ese modulo tiene un problema... se despierta  solo (cuando detecta un ruido en RX) y el autobaud se pone en una velocidad rara de la cual es imposible sabe y sincronizar. Esto me lo dijo el representante de ese modulo para latinoamerica.... el recomienda cambiar el firmware... aun no lo hice porque implica cambiar la frecuencia de Gateway.
Para concluir, opte por usar un mosfet y mantener apagado el modulo mientras no se usa.

Hola ,

Porque dices que al actualizar firmware ya no funcionará con el gateway? o te refieres a otra cosa?
El rn2903 solo funciona con 915 MHZ.

Saludos!

Desconectado cvargcal

  • PIC16
  • ***
  • Mensajes: 166
Re:RN2903 Lora
« Respuesta #9 en: 07 de Noviembre de 2018, 02:06:57 »
Prueba dejar la velocidad estándar del módulo (57600) y mandar un break de 1 milisegundo solamente.

Comenta si tuviste exito, gracias!!

Nada, intente de muchas formas y no se logra despertar...ademas, ese modulo tiene un problema... se despierta  solo (cuando detecta un ruido en RX) y el autobaud se pone en una velocidad rara de la cual es imposible sabe y sincronizar. Esto me lo dijo el representante de ese modulo para latinoamerica.... el recomienda cambiar el firmware... aun no lo hice porque implica cambiar la frecuencia de Gateway.
Para concluir, opte por usar un mosfet y mantener apagado el modulo mientras no se usa.

Hola ,

Porque dices que al actualizar firmware ya no funcionará con el gateway? o te refieres a otra cosa?
El rn2903 solo funciona con 915 MHZ.

Saludos!

Actualmente esta con 900 a 915. Pero eso cambiara para latinoamerica por la banda australiana, 915 a 925. No es oficial, pero por las leyes de regulatorias del espetro, se aplicara pronto esa norma.
Si actualizo el firmware ( firmware del representante para latinoamerica, y que corrige problemas de wakeup), tengo que  setear la frecuencia del GW a la misma del modulo, y ya tengo muchos dispositivos instalados... y sin acceso... ( solo por eso no no hago), pero claro... llegara el momento en que todo lo tenga que tener a 915
« Última modificación: 07 de Noviembre de 2018, 02:23:34 por cvargcal »


 

anything