Recent Posts

Pages: 1 2 [3] 4 5 ... 10
21
Wireless Modules / Re: Using the sx1276 inair4 module with Arduino
« Last post by saramirez on May 09, 2016, 07:20:33 AM »
Hi manimuthukumar,

I think you should code to use the RTI_LF not the RFO_LF output, but i don't really know because i did not make the code I'm using myself. I ended up using the RadioHead library, which has been modified to support the modtronix module properly, and have had good results. http://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF95.html

Greetings
22
MicroX Modules and SBC Boards / Re: how to set current NETBIOS name in title page ?
« Last post by gr on May 04, 2016, 10:12:54 AM »
Javascript can definitely modify the title of a page as often as you want.  You can make it so the title changes every few seconds or whatever.  The relevant javascript code:

Code: [Select]
<script>
document.title="my title name for the web page";
</script>
23
MicroX Modules and SBC Boards / how to set current NETBIOS name in title page ?
« Last post by secarica on May 04, 2016, 09:57:18 AM »
In a network environment with several SBC65EC boards, I would like to have the page title on each with their NETBIOS name, so when one loads a page it should see at once which board is which.

The proper place is the title page in master frame ("Modtronix SBC65EC Web Server" or "Modtronix SBC65EC Web Server Configuration", the one written on yellow background, in index.htm or xcfg.htm files respectively; this should display something like "NETBIOS - Modtronix SBC65EC Web Server" or "NETBIOS - Modtronix SBC65EC Web Server Configuration" respectively, where NETBIOS is the name as set in Network Settings page).

The NETBIOS name, editable, appears to be displayed in the page generated by xncfg.cgi based on a javascript script but the editable feature is not required in a title.

Is there a way to achieve this ? The title is in <head>...</head> portion and I don't know if a javascript can take action there.

?

Thank you,
Cristi
24
Wireless Modules / Inair 4 getting Low signal Output
« Last post by manimuthukumar on April 27, 2016, 04:09:49 AM »
Hi ,
I am Using the Arduino - Due Board and inair4 module and trying with the examlpe code provided at the modtronix site: http://wiki.modtronix.com/doku.php?id=projects:arduino-lora-server-client1/server

Mode : LORA , Frequency : default 434 Mhz, Bandwidth 125 Khz and 4096 Symbol rate , i have connected two Inair module using a cable still i am getting the signal Strength of - 60 dbm . Please Suggest me  on this. Is there any updated/ latest code.

Secondly in the forum
http://forum.modtronix.com/index.php?topic=2231.msg10177#msg10177 ( last pragraph ) you have metioned the Output is connected in RTI_LF , i think it is RTO_LF .

Finally Jumper J4 is for  5 Volts is it mandatory to Put the J4 Jumper .  if i put the J4 Jumper signal  strength reduced by other 3 to 4 db


Thanking you
Muthukumar
25
Wireless Modules / Re: Using the sx1276 inair4 module with Arduino
« Last post by manimuthukumar on April 26, 2016, 02:54:17 AM »
Hi ,
I am facing similar problem in InAir4 Module on aurdino due . And i have coded for RFO_LF as output.  i am getting around -66 Dbm signal.
Please suggest how you have solved the problem

mani
26
Wireless Modules / Re: inair9b J4 question
« Last post by modtro2 on March 13, 2016, 04:47:04 PM »
Hello, all inAir boards(inAir4, inAir9 and inAir9B) are maximum 3.6V. Do not connect 5V supply to them. You can also refer to the SX1276 and SX1278 datasheets.

Please refer to the schematic and pinout diagram on product page.



27
Wireless Modules / Re: inair9b J4 question
« Last post by cswiger on March 11, 2016, 11:06:58 AM »
Actually it seems to work at high power with IM11_5v going to ground as well.
28
Wireless Modules / inair9b J4 question
« Last post by cswiger on March 11, 2016, 05:40:47 AM »
Hi - have the inair9b working fine, very happy. I had to connect the pin IM11_5v to 3.3v for it to work if I recall correctly.

Is that pin ACTUALLY 5v compatible? There is jumper j4 to connect it to the 3.3v supply, which I am effectively using.
Now I have an option (using a linkit one arduino compabitle board, which is 3.3v digital pins, no level converter needed)
to use 5v - studying the sx1276 datasheet I do *not* see *any* pin is 5v, even to a power amp or anything I can find.

So is it really safe to supply IM11_5v with 5v ??  :|     Asking to be safe than sorry!
29
Serial LCD Displays / Re: == Arduino I2C Source Code for Keypad & IO functions ==
« Last post by modtro2 on March 07, 2016, 05:01:18 PM »
Following code can be used to write to LCD2S display, and read keys via Arduino.

Code: [Select]
#include <Wire.h>


// LCD2S Commands /////////////////////////////////////////////////////////////
#define CMD_WRITE_STRING    0x80    // Write parsed String command
#define CMD_CONFIG_DEVICE   0x95    // Configure device using 4 bytes
#define CMD_GET_STATUS      0xD0    // Read Status command
#define CMD_GET_KEY         0xD1    // Get Key command

// Constant Variables /////////////////////////////////////////////////////////
const int ledPin =  13;                     //The number of the LED pin
const unsigned char LCD2S_I2C_ADR = 0x28;   //I2C address of the LCD

// Variables //////////////////////////////////////////////////////////////////
int ledState = LOW;             // ledState used to set the LED

unsigned long tmrFlashLed = 0;  // Timer for flashing system LED
unsigned long tmrCheckKey = 0;  // Check if a key on keyboard was pressee

void setup()
{
  Wire.begin();         //Join bus as master
  Serial.begin(9600);   // start serial for output

  // set the digital pin as output:
  pinMode(ledPin, OUTPUT);

  //Initialize LCD2S
  delay(300);           //Give LCD2S time to initialize itself
  initializeLcd2s();

  //Write "Hello World" message
  Wire.beginTransmission(LCD2S_I2C_ADR);  //Start condition at the given I2C address or Mark the beginning of a data packet, change 0x28 to your device's I2C address
  Wire.write(CMD_WRITE_STRING);           //Display Commands
  Wire.write(0x0c);                       //Clear display and go to first line
  Wire.write("Hello world!");             //Write message
  Wire.endTransmission(false);            //End condition or Mark the end of data packet and send to LCD and hold bus connection
}

void loop() {

  unsigned long currentMillis = millis();

  // Check if key was pressed every 50ms ///////////////////
  if(currentMillis - tmrCheckKey >= 50) {
    unsigned char status, key;
    tmrCheckKey = currentMillis;

    //Read "status" register of LCD2S. Bit 7(MSB) indicates if Keypad buffer contains any data
    Wire.beginTransmission(LCD2S_I2C_ADR);
    Wire.write(CMD_GET_STATUS);             //"Get Status Register" command
    Wire.endTransmission(false);            //Send "repeated start"
    Wire.requestFrom(LCD2S_I2C_ADR, 1);     //Request 1 bytes from slave device = Status byte
    while (Wire.available()) {
      status = Wire.read();                 //Receive status byte
    }

    //Has the LCD got keys to be read
    if (status & 0x80) {
      char buf[10];
      Serial.print("\r\nButton Pressed");
     
      //Get key from LCD
      Wire.beginTransmission(LCD2S_I2C_ADR);
      Wire.write(CMD_GET_KEY);                //"Get Key" command
      Wire.endTransmission(false);            //Send "repeated start"
      Wire.requestFrom(LCD2S_I2C_ADR, 1);     //Request 1 bytes from slave device = Status byte
      while (Wire.available()) {
        key = Wire.read();                    //Receive status byte
      }

      //Write key code to second line of LCD
      Wire.beginTransmission(LCD2S_I2C_ADR);  //Start condition at the given I2C address or Mark the beginning of a data packet, change 0x28 to your device's I2C address
      Wire.write(CMD_WRITE_STRING);           //Display Commands
      Wire.write(0x0d);                       //Go to beginning of first line
      Wire.write(0x0a);                       //Go to beginning of next line = second line
      Wire.write("Key = ");                   //Write message
      sprintf((char*)buf, "%c", key);
      Wire.write(buf);                        //Write key code
      Wire.endTransmission(false);            //End condition or Mark the end of data packet and send to LCD and hold bus connection
    }
  }

 
  // Flash system LED ///////////////////////////////////////
  if(currentMillis - tmrFlashLed >= 500) {
    tmrFlashLed = currentMillis;

    //Serial.print("blink");    // print the character
   
    //Toggle LED
    ledState = !ledState;
    digitalWrite(ledPin, ledState);
  }
}


/**
 * Initialization code to initialize I2C 1 and LCD2S display connected to it.
 * Configure LCD using "Configure Device" command (0x95).
 * See LCD2S documentation for details on "Configure Device" command:
 * http://modtronix.com/prod/lcd2s/lcd2sr2_v140.pdf
 */
void initializeLcd2s(void) {
    //Configure LCD
    Wire.beginTransmission(LCD2S_I2C_ADR);  //Start condition at the given I2C address or Mark the beginning of a data packet, change 0x28 to your device's I2C address

    //Byte 1 = 0x95
    //Configure LCD using "Configure Device" command (0x95).
    Wire.write(CMD_CONFIG_DEVICE);          //Configure Device command

    //Byte 2 (Display) of command
    //xx1x xxxx - Interrupt pin is Open Collector output type
    //xxx1 1xxx - Backlight On, Display On
    //xxxx x001 - Cursor off, block cursor off, Cursor moves forward
    //0011 1001 = 0x39
    Wire.write(0x39);

    //Byte 3 (Contrast and Brightness) of command
    //01xx xxxx - Set Backlight to 100 (range is 0 to 255)
    //xx11 0111 - Set contrast to 220 (0x37 x 4)
    //0111 0111 = 0x77
    Wire.write(0x77);
   
    //Byte 4 (keypad and IO) of command
    //0x0f Configures device for 4x4 keypad (if present), OUT1 disabled, GPIO1 to 3 disabled
    Wire.write(0x0f);
   
    //Byte 5 (Keypad and Buzzer) of command
    //01xx xxxx - Keypad Buzzer off
    //xx10 xxxx - Keypad repeat rate = 320ms
    //xxxx 10xx - Keypad Repeat Delay = 1 second
    //xxxx xx10 - Keypad Debounce Time = 64ms
    //0110 1010 = 0x6A
    Wire.write(0x6a);

    //End condition or Mark the end of data packet and send to LCD and hold bus connection
    Wire.endTransmission(false);
}
30
Serial LCD Displays / Re: == Arduino I2C Source Code for Keypad functions ==
« Last post by modtro2 on March 07, 2016, 04:59:30 PM »
Following code can be used to write to LCD2S, and read key.

Code: [Select]
#include <Wire.h>


// LCD2S Commands /////////////////////////////////////////////////////////////
#define CMD_WRITE_STRING    0x80    // Write parsed String command
#define CMD_CONFIG_DEVICE   0x95    // Configure device using 4 bytes
#define CMD_GET_STATUS      0xD0    // Read Status command
#define CMD_GET_KEY         0xD1    // Get Key command

// Constant Variables /////////////////////////////////////////////////////////
const int ledPin =  13;                     //The number of the LED pin
const unsigned char LCD2S_I2C_ADR = 0x28;   //I2C address of the LCD

// Variables //////////////////////////////////////////////////////////////////
int ledState = LOW;             // ledState used to set the LED

unsigned long tmrFlashLed = 0;  // Timer for flashing system LED
unsigned long tmrCheckKey = 0;  // Check if a key on keyboard was pressee

void setup()
{
  Wire.begin();         //Join bus as master
  Serial.begin(9600);   // start serial for output

  // set the digital pin as output:
  pinMode(ledPin, OUTPUT);

  //Initialize LCD2S
  delay(300);           //Give LCD2S time to initialize itself
  initializeLcd2s();

  //Write "Hello World" message
  Wire.beginTransmission(LCD2S_I2C_ADR);  //Start condition at the given I2C address or Mark the beginning of a data packet, change 0x28 to your device's I2C address
  Wire.write(CMD_WRITE_STRING);           //Display Commands
  Wire.write(0x0c);                       //Clear display and go to first line
  Wire.write("Hello world!");             //Write message
  Wire.endTransmission(false);            //End condition or Mark the end of data packet and send to LCD and hold bus connection
}

void loop() {

  unsigned long currentMillis = millis();

  // Check if key was pressed every 50ms ///////////////////
  if(currentMillis - tmrCheckKey >= 50) {
    unsigned char status, key;
    tmrCheckKey = currentMillis;

    //Read "status" register of LCD2S. Bit 7(MSB) indicates if Keypad buffer contains any data
    Wire.beginTransmission(LCD2S_I2C_ADR);
    Wire.write(CMD_GET_STATUS);             //"Get Status Register" command
    Wire.endTransmission(false);            //Send "repeated start"
    Wire.requestFrom(LCD2S_I2C_ADR, 1);     //Request 1 bytes from slave device = Status byte
    while (Wire.available()) {
      status = Wire.read();                 //Receive status byte
    }

    //Has the LCD got keys to be read
    if (status & 0x80) {
      char buf[10];
      Serial.print("\r\nButton Pressed");
     
      //Get key from LCD
      Wire.beginTransmission(LCD2S_I2C_ADR);
      Wire.write(CMD_GET_KEY);                //"Get Key" command
      Wire.endTransmission(false);            //Send "repeated start"
      Wire.requestFrom(LCD2S_I2C_ADR, 1);     //Request 1 bytes from slave device = Status byte
      while (Wire.available()) {
        key = Wire.read();                    //Receive status byte
      }

      //Write key code to second line of LCD
      Wire.beginTransmission(LCD2S_I2C_ADR);  //Start condition at the given I2C address or Mark the beginning of a data packet, change 0x28 to your device's I2C address
      Wire.write(CMD_WRITE_STRING);           //Display Commands
      Wire.write(0x0d);                       //Go to beginning of first line
      Wire.write(0x0a);                       //Go to beginning of next line = second line
      Wire.write("Key = ");                   //Write message
      sprintf((char*)buf, "%c", key);
      Wire.write(buf);                        //Write key code
      Wire.endTransmission(false);            //End condition or Mark the end of data packet and send to LCD and hold bus connection
    }
  }

 
  // Flash system LED ///////////////////////////////////////
  if(currentMillis - tmrFlashLed >= 500) {
    tmrFlashLed = currentMillis;

    //Serial.print("blink");    // print the character
   
    //Toggle LED
    ledState = !ledState;
    digitalWrite(ledPin, ledState);
  }
}


/**
 * Initialization code to initialize I2C 1 and LCD2S display connected to it.
 * Configure LCD using "Configure Device" command (0x95).
 * See LCD2S documentation for details on "Configure Device" command:
 * http://modtronix.com/prod/lcd2s/lcd2sr2_v140.pdf
 */
void initializeLcd2s(void) {
    //Configure LCD
    Wire.beginTransmission(LCD2S_I2C_ADR);  //Start condition at the given I2C address or Mark the beginning of a data packet, change 0x28 to your device's I2C address

    //Byte 1 = 0x95
    //Configure LCD using "Configure Device" command (0x95).
    Wire.write(CMD_CONFIG_DEVICE);          //Configure Device command

    //Byte 2 (Display) of command
    //xx1x xxxx - Interrupt pin is Open Collector output type
    //xxx1 1xxx - Backlight On, Display On
    //xxxx x001 - Cursor off, block cursor off, Cursor moves forward
    //0011 1001 = 0x39
    Wire.write(0x39);

    //Byte 3 (Contrast and Brightness) of command
    //01xx xxxx - Set Backlight to 100 (range is 0 to 255)
    //xx11 0111 - Set contrast to 220 (0x37 x 4)
    //0111 0111 = 0x77
    Wire.write(0x77);
   
    //Byte 4 (keypad and IO) of command
    //0x0f Configures device for 4x4 keypad (if present), OUT1 disabled, GPIO1 to 3 disabled
    Wire.write(0x0f);
   
    //Byte 5 (Keypad and Buzzer) of command
    //01xx xxxx - Keypad Buzzer off
    //xx10 xxxx - Keypad repeat rate = 320ms
    //xxxx 10xx - Keypad Repeat Delay = 1 second
    //xxxx xx10 - Keypad Debounce Time = 64ms
    //0110 1010 = 0x6A
    Wire.write(0x6a);

    //End condition or Mark the end of data packet and send to LCD and hold bus connection
    Wire.endTransmission(false);
}


Pages: 1 2 [3] 4 5 ... 10