Show Posts
Pages: [1]
1  Development / Other Hardware Development / Mowayduino and nrf24l01 communication on: May 22, 2014, 04:32:23 pm
Is there anybody that can communicate mowayduino robot ( http://moway-robot.com/en/mowayduino/que-es/ ) with nrf24l01  and Mirf library?

I have two parts: the mowayduino sending one string and an arduino uno with a nrf24l01 module receiving that string.

The source code for both is very simple:

MowayDuino:
Code:
#include "MowayduinoRobot.h"
#include <SPI.h>
#include <EEPROM.h>

mowayduinorobot robot;
unsigned char datos[8];

void RfDataReady();
void RfDataReady()
{}

void setup()
{
  robot.beginMowayduino();
  robot.beginRF(2,0x10);
  robot.On();
  datos[0] = 100;
  datos[1] = 101;
  datos[2] = 102;
  datos[3] = 103;
  datos[4] = 104;
  datos[5] = 105;
  datos[6] = 106;
  datos[7] = 107;
  delay(2000);
}

void loop()
{
    robot.Blueon();
    delay(500);
    if(robot.Send(0x20,datos) == 0)
    {
      robot.Blueoff();
      robot.Greenon();
      delay(500);
      robot.Greenoff();
    }
    else
    {
      robot.Blueoff();
      robot.Redon();
      delay(500);
      robot.Redoff();
    }
}

Arduino UNO:
Code:
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>

byte direccion[] = {0x20, 0xc2, 0xc2, 0xc2, 0xc2};

void setup(){
  Serial.begin(9600);
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR(direccion);
   Mirf.payload = 10;
  Mirf.channel = 2;
  Mirf.config();
  Serial.println("Listening...");
}

void loop(){
  int indice;
  byte data[Mirf.payload];
  
  if(!Mirf.isSending() && Mirf.dataReady()){
    Serial.println("Got packet");
    
    Mirf.getData(data);
    for(indice = 0; indice < Mirf.payload; indice++) Serial.print((char)data[indice]);
    Serial.println();
  }
}

After several tests I only receive the string sometimes (with a long time between receptions) and I don't know what more I have to do to achieve a real communication. The connections in Arduino UNO are correct because I can receive the string from another pair of arduino and nrf24l01 .
2  Products / Arduino Yún / Sometimes the IDE shows Yún, sometimes not on: December 14, 2013, 02:46:04 am
I have installed Arduino 1.5.5 on my computer. My operating system is windows 7 64 bit.

I have an strange issue:

Sometimes when i open the Arduino IDE I can see the Arduino Yún IP in tools/port (like opcion.jpg). However if I close the Arduino IDE and reopen it, the Arduino Yún IP dissapears and I can't see it anymore even I close and reopen several times the IDE (like opcion2.jpg).

Did you have a similar problem and how did you resolve it?

3  Using Arduino / Displays / Re: Pervasive Displays [no power displays - e-paper] on: January 27, 2013, 01:23:33 am
I purchased one of them from http://www.watterott.com/en/27-Inch-E-Paper-Display

I would like to know how to program it. We are at the end of January and there is no source code available yet, so if I sign the NDA and then I develop some code that is only based in datasheet, can I distribute it since it is my own code?
4  International / Español / Re: como conecto varios sensores en una entrada analogica?? on: February 27, 2012, 03:19:09 am
Creo que puedes adaptar esto a tu proyecto:

http://webdelcire.com/wordpress/archives/1253
5  International / Español / Re: MOVED FROM --> Re: vinciDuino - un Arduino Leonardo hecho por gente del foro on: February 27, 2012, 03:11:36 am
A ver, quiero dejar claro que el software libre nada tiene que ver con que sea gratis o que no se pueda ganar dinero con ello:

Red Hat (distribución GNU/Linux para empresas) proporciona software libre y gana dinero con sus servicios (soporte, documentación, configuraciones, modificaciones, personalizaciones, etc).
Firefox se subvenciona con lo que le da Google por tener su motor de búsqueda como principal en el navegador.
Ubuntu tiene como mecenas a Mark Shuttleworth.
Wikipedia y MediaWiki (su software) se subvencionan con las donaciones anónimas.
La extinta distribución Linex la pagaba el gobierno de Extremadura.
Tesseract (el motor OCR de Google) se desarrolla gracias a que Google tiene como forma de ganar dinero a ad sense.

Es cierto que otras cosas si son gratis o no se gana dinero con ello pero:
a) Te dan ciertas ventajas si eres uno de los que ha participado (prestigio, currículum, contratos en otras empresas, regalos, etc).
b) No vives de ello únicamente sino que tienes otro trabajo que te sirve para vivir.

Con todo esto quiero comentar que Arduino no deja de ser hardware libre por cobrar por sus productos (la cantidad que sea), siempre que los que los compramos tengamos las libertades asociadas (y ello implica entre otras cosas conocer su esquemático completo, sus componentes y hacer copias exactas y distribuirlas por nuestra cuenta). Para el tema de no poder usar el nombre de Arduino para nombrar los dispositivos que hagamos por nuestra cuenta me voy a referir a Linux como kernel. Hay multitud de grupos portando el kernel a diversas distribuciones o a distintas plataformas de hardware basándose en el Linux original que gestiona Linus Torlvads y lo siguen llamado Linux, no "compatible con Linux" o "basado en Linux".








6  International / Español / Re: MOVED FROM --> Re: vinciDuino - un Arduino Leonardo hecho por gente del foro on: February 23, 2012, 10:54:59 am
Bueno

Voy a poner mi opinión que no se en qué lado está de lo que se ha discutido aquí, pero que creo interesante para compartir:

Entiendo que el Hardware Libre está basado en el Software Libre, por tanto el Hardware Libre debe cumplir las mismas libertades, que son 4 (copio de la wikipedia):
  • La libertad de usar el programa, con cualquier propósito.
  • La libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.
  • La libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
  • La libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.

Me quedo con las dos últimas libertades para debatir lo que yo personalmente entiendo:

La libertad de distribuir copias (que no versiones modificadas) del programa se aplicaría como la libertad de distribuir copias exactas de Arduino para ayudar al próximo, por tanto, puedo fabricar una copia exacta de Arduino, que se llame Arduino (no se dice nada en el texto de tener que llamarlo con otro nombre) sin tener que pedir permiso a nadie (es una libertad del software/hardware libre) para ayudar a otras personas a que lo tengan (por ejemplo reduciendo el precio).

La libertad de mejorar el programa y hacer públicas esas mejoras a los demás se aplicaría a que yo puedo modificar Arduino añadiendo por ejemplo un bootloader por bluetooth y llamarlo Arduino Reloaded (como antes no se dice nada en el texto de tenerlo que llamarlo con otro nombre) sin tener que pedir permiso a nadie y venderlo a un precio de fábrica para que la comunidad se beneficie con el precio además de la novedad añadida.

Como no se cita textualmente en los anteriores textos, el que sea software/hardware libre no impide ganar dinero con ello, por tanto yo puedo vender mis productos al precio que quiera (puede ser al de fábrica china o italiana o inflado tanto como quiera) y sigue siendo hardware libre siempre que permita a mis compradores tener las mismas libertades.

De ello desprendo que Arduino puede vender sus placas al precio que quiera, pero no puede hacer nada por evitar que se clonen exactamente sus diseños y/o se use su marca (no por ser una empresa sino por nombrar un dispositivo). Yo tampoco podría evitar que mi Arduino Reloaded fuese copiado por otras personas sin contar conmigo ni exigir beneficios por ello, dado que están en su derecho por las libertades heredadas.

Finalmente el problema que veo de la placa Arduino es el de tener que pagar una licencia para el estandar USB, que hace que la placa no sea 100% hardware libre al no poder transmitir todo el contenido libre y sin cargos a otros usuarios/clientes y ellos usarlo exactamente como el original o puedan derivar en otros productos. Es un problema grave porque se rompe la libertad de hacer las copias o modificaciones que quiera usando la misma tecnología ya que dependemos de algo privativo (en este caso de una licencia cerrada) y no se pueden ejercer las libertades arriba expresadas. Pongo un caso ridículo, si en vez de programar un Arduino por USB se programase por puerto serie entonces si que sería 100% hardware libre por no tener que pagar ni sus autores ni sus clientes, ni los clientes de los clientes ninguna licencia/derecho.

Con esto he querido expresar mi opinión sin animo de ninguna controversia, que puede estar equivocada, pero que se basa en la experiencia del Software Libre del que ya lleva muchos años existiendo entre nosotros.

7  Forum 2005-2010 (read only) / Interfacing / Re: Arduino to 384 LED display module (MCU Interface) on: December 23, 2009, 01:12:34 am
In order to improve speed to plot function at: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1225239439/102#102 I have changed the lines:

Code:
if (val) {  // Modify the shadow memory
    ht1632_shadowram[addr+96*chipno] |= bitval;
  }
  else {
    ht1632_shadowram[addr+96*chipno] &= ~bitval;
  }

to

Code:
 if(((ht1632_shadowram[addr+96*chipno] & bitval) == 0 && val == 0) ||
    ((ht1632_shadowram[addr+96*chipno] & bitval) != 0 && val == 1))
  {
    return;
  }
  else if (val) {  // Modify the shadow memory
    ht1632_shadowram[addr+96*chipno] |= bitval;
  }
  else {
    ht1632_shadowram[addr+96*chipno] &= ~bitval;
  }

So if the bit to change is the same than the memory one, there is no need to change it and then send the data to ht1632.
8  Forum 2005-2010 (read only) / Interfacing / Re: Arduino to 384 LED display module (MCU Interface) on: December 23, 2009, 01:06:47 am
part two

Code:
case 409: return 0xCC;
case 410: return 0xE0;
case 411: return 0x70;
case 412: return 0x1C;
case 413: return 0xCC;
case 414: return 0x78;
case 415: return 0x00;
case 416: return 0xFC;
case 417: return 0xB4;
case 418: return 0x30;
case 419: return 0x30;
case 420: return 0x30;
case 421: return 0x30;
case 422: return 0x78;
case 423: return 0x00;
case 424: return 0xCC;
case 425: return 0xCC;
case 426: return 0xCC;
case 427: return 0xCC;
case 428: return 0xCC;
case 429: return 0xCC;
case 430: return 0xFC;
case 431: return 0x00;
case 432: return 0xCC;
case 433: return 0xCC;
case 434: return 0xCC;
case 435: return 0xCC;
case 436: return 0xCC;
case 437: return 0x78;
case 438: return 0x30;
case 439: return 0x00;
case 440: return 0xC6;
case 441: return 0xC6;
case 442: return 0xC6;
case 443: return 0xD6;
case 444: return 0xFE;
case 445: return 0xEE;
case 446: return 0xC6;
case 447: return 0x00;
case 448: return 0xC6;
case 449: return 0xC6;
case 450: return 0x6C;
case 451: return 0x38;
case 452: return 0x38;
case 453: return 0x6C;
case 454: return 0xC6;
case 455: return 0x00;
case 456: return 0xCC;
case 457: return 0xCC;
case 458: return 0xCC;
case 459: return 0x78;
case 460: return 0x30;
case 461: return 0x30;
case 462: return 0x78;
case 463: return 0x00;
case 464: return 0xFE;
case 465: return 0xC6;
case 466: return 0x8C;
case 467: return 0x18;
case 468: return 0x32;
case 469: return 0x66;
case 470: return 0xFE;
case 471: return 0x00;
case 472: return 0x78;
case 473: return 0x60;
case 474: return 0x60;
case 475: return 0x60;
case 476: return 0x60;
case 477: return 0x60;
case 478: return 0x78;
case 479: return 0x00;
case 480: return 0xC0;
case 481: return 0x60;
case 482: return 0x30;
case 483: return 0x18;
case 484: return 0x0C;
case 485: return 0x06;
case 486: return 0x02;
case 487: return 0x00;
case 488: return 0x78;
case 489: return 0x18;
case 490: return 0x18;
case 491: return 0x18;
case 492: return 0x18;
case 493: return 0x18;
case 494: return 0x78;
case 495: return 0x00;
case 496: return 0x10;
case 497: return 0x38;
case 498: return 0x6C;
case 499: return 0xC6;
case 500: return 0x00;
case 501: return 0x00;
case 502: return 0x00;
case 503: return 0x00;
case 504: return 0x00;
case 505: return 0x00;
case 506: return 0x00;
case 507: return 0x00;
case 508: return 0x00;
case 509: return 0x00;
case 510: return 0x00;
case 511: return 0xFF;
case 512: return 0x30;
case 513: return 0x30;
case 514: return 0x18;
case 515: return 0x00;
case 516: return 0x00;
case 517: return 0x00;
case 518: return 0x00;
case 519: return 0x00;
case 520: return 0x00;
case 521: return 0x00;
case 522: return 0x78;
case 523: return 0x0C;
case 524: return 0x7C;
case 525: return 0xCC;
case 526: return 0x76;
case 527: return 0x00;
case 528: return 0xE0;
case 529: return 0x60;
case 530: return 0x60;
case 531: return 0x7C;
case 532: return 0x66;
case 533: return 0x66;
case 534: return 0xDC;
case 535: return 0x00;
case 536: return 0x00;
case 537: return 0x00;
case 538: return 0x78;
case 539: return 0xCC;
case 540: return 0xC0;
case 541: return 0xCC;
case 542: return 0x78;
case 543: return 0x00;
case 544: return 0x1C;
case 545: return 0x0C;
case 546: return 0x0C;
case 547: return 0x7C;
case 548: return 0xCC;
case 549: return 0xCC;
case 550: return 0x76;
case 551: return 0x00;
case 552: return 0x00;
case 553: return 0x00;
case 554: return 0x78;
case 555: return 0xCC;
case 556: return 0xFC;
case 557: return 0xC0;
case 558: return 0x78;
case 559: return 0x00;
case 560: return 0x38;
case 561: return 0x6C;
case 562: return 0x60;
case 563: return 0xF0;
case 564: return 0x60;
case 565: return 0x60;
case 566: return 0xF0;
case 567: return 0x00;
case 568: return 0x00;
case 569: return 0x00;
case 570: return 0x76;
case 571: return 0xCC;
case 572: return 0xCC;
case 573: return 0x7C;
case 574: return 0x0C;
case 575: return 0xF8;
case 576: return 0xE0;
case 577: return 0x60;
case 578: return 0x6C;
case 579: return 0x76;
case 580: return 0x66;
case 581: return 0x66;
case 582: return 0xE6;
case 583: return 0x00;
case 584: return 0x30;
case 585: return 0x00;
case 586: return 0x70;
case 587: return 0x30;
case 588: return 0x30;
case 589: return 0x30;
case 590: return 0x78;
case 591: return 0x00;
case 592: return 0x0C;
case 593: return 0x00;
case 594: return 0x0C;
case 595: return 0x0C;
case 596: return 0x0C;
case 597: return 0xCC;
case 598: return 0xCC;
case 599: return 0x78;
case 600: return 0xE0;
case 601: return 0x60;
case 602: return 0x66;
case 603: return 0x6C;
case 604: return 0x78;
case 605: return 0x6C;
case 606: return 0xE6;
case 607: return 0x00;
case 608: return 0x70;
case 609: return 0x30;
case 610: return 0x30;
case 611: return 0x30;
case 612: return 0x30;
case 613: return 0x30;
case 614: return 0x78;
case 615: return 0x00;
case 616: return 0x00;
case 617: return 0x00;
case 618: return 0xCC;
case 619: return 0xFE;
case 620: return 0xFE;
case 621: return 0xD6;
case 622: return 0xC6;
case 623: return 0x00;
case 624: return 0x00;
case 625: return 0x00;
case 626: return 0xF8;
case 627: return 0xCC;
case 628: return 0xCC;
case 629: return 0xCC;
case 630: return 0xCC;
case 631: return 0x00;
case 632: return 0x00;
case 633: return 0x00;
case 634: return 0x78;
case 635: return 0xCC;
case 636: return 0xCC;
case 637: return 0xCC;
case 638: return 0x78;
case 639: return 0x00;
case 640: return 0x00;
case 641: return 0x00;
case 642: return 0xDC;
case 643: return 0x66;
case 644: return 0x66;
case 645: return 0x7C;
case 646: return 0x60;
case 647: return 0xF0;
case 648: return 0x00;
case 649: return 0x00;
case 650: return 0x76;
case 651: return 0xCC;
case 652: return 0xCC;
case 653: return 0x7C;
case 654: return 0x0C;
case 655: return 0x1E;
case 656: return 0x00;
case 657: return 0x00;
case 658: return 0xDC;
case 659: return 0x76;
case 660: return 0x66;
case 661: return 0x60;
case 662: return 0xF0;
case 663: return 0x00;
case 664: return 0x00;
case 665: return 0x00;
case 666: return 0x7C;
case 667: return 0xC0;
case 668: return 0x78;
case 669: return 0x0C;
case 670: return 0xF8;
case 671: return 0x00;
case 672: return 0x10;
case 673: return 0x30;
case 674: return 0x7C;
case 675: return 0x30;
case 676: return 0x30;
case 677: return 0x34;
case 678: return 0x18;
case 679: return 0x00;
case 680: return 0x00;
case 681: return 0x00;
case 682: return 0xCC;
case 683: return 0xCC;
case 684: return 0xCC;
case 685: return 0xCC;
case 686: return 0x76;
case 687: return 0x00;
case 688: return 0x00;
case 689: return 0x00;
case 690: return 0xCC;
case 691: return 0xCC;
case 692: return 0xCC;
case 693: return 0x78;
case 694: return 0x30;
case 695: return 0x00;
case 696: return 0x00;
case 697: return 0x00;
case 698: return 0xC6;
case 699: return 0xD6;
case 700: return 0xFE;
case 701: return 0xFE;
case 702: return 0x6C;
case 703: return 0x00;
case 704: return 0x00;
case 705: return 0x00;
case 706: return 0xC6;
case 707: return 0x6C;
case 708: return 0x38;
case 709: return 0x6C;
case 710: return 0xC6;
case 711: return 0x00;
case 712: return 0x00;
case 713: return 0x00;
case 714: return 0xCC;
case 715: return 0xCC;
case 716: return 0xCC;
case 717: return 0x7C;
case 718: return 0x0C;
case 719: return 0xF8;
case 720: return 0x00;
case 721: return 0x00;
case 722: return 0xFC;
case 723: return 0x98;
case 724: return 0x30;
case 725: return 0x64;
case 726: return 0xFC;
case 727: return 0x00;
case 728: return 0x1C;
case 729: return 0x30;
case 730: return 0x30;
case 731: return 0xE0;
case 732: return 0x30;
case 733: return 0x30;
case 734: return 0x1C;
case 735: return 0x00;
case 736: return 0x18;
case 737: return 0x18;
case 738: return 0x18;
case 739: return 0x00;
case 740: return 0x18;
case 741: return 0x18;
case 742: return 0x18;
case 743: return 0x00;
case 744: return 0xE0;
case 745: return 0x30;
case 746: return 0x30;
case 747: return 0x1C;
case 748: return 0x30;
case 749: return 0x30;
case 750: return 0xE0;
case 751: return 0x00;
case 752: return 0x76;
case 753: return 0xDC;
case 754: return 0x00;
case 755: return 0x00;
case 756: return 0x00;
case 757: return 0x00;
case 758: return 0x00;
case 759: return 0x00;
case 760: return 0x00;
case 761: return 0x10;
case 762: return 0x38;
case 763: return 0x6C;
case 764: return 0xC6;
case 765: return 0xC6;
case 766: return 0xFE;
case 767: return 0x00;
default: return 0xFF;
  }
}

void paintCharacter(int x, int y, char caracter)
{
  int lx, ly;
  char line;

  if(caracter >= 32 && caracter <= 127)
  {
    for(ly = 0; ly < 8; ly++)
    {
      line = charLine((caracter - 32) * 8 + ly);
      for(lx = 0; lx < 8; lx++)
      {
        if((line & 0x80) > 0)
        {
          plot(x + lx, y + ly, 1);
        }
        else
        {
          plot(x + lx, y + ly, 0);
        }
        line <<= 1;
      }
    }
  }
}

So if you want to write the 'a' character at x=4 y =3 you only have to call function paintCharacter like this:

Code:
paintCharacter(4, 3, 'a');

This method is useful when SRAM memory is limited but you have a lot of code memory.

Basically charLine function returns one of the rows that compose a 8x8 pixel character (8 bits x 8 rows). So paintCharacter retrieves the 8 rows and paint them bit per bit.

Here are the results in scroll mode smiley-wink

[media]http://www.youtube.com/watch?v=dB7U47u6izs[/media]

9  Forum 2005-2010 (read only) / Interfacing / Re: Arduino to 384 LED display module (MCU Interface) on: December 23, 2009, 12:53:59 am
I writed two functions for draw 8x8 pixel characters from ascii 32 to ascii 127 embedded in code instead in an memory array.

Code:
byte charLine(int index)
{
  switch(index)
  {
case 0: return 0x00;
case 1: return 0x00;
case 2: return 0x00;
case 3: return 0x00;
case 4: return 0x00;
case 5: return 0x00;
case 6: return 0x00;
case 7: return 0x00;
case 8: return 0x30;
case 9: return 0x78;
case 10: return 0x78;
case 11: return 0x30;
case 12: return 0x30;
case 13: return 0x00;
case 14: return 0x30;
case 15: return 0x00;
case 16: return 0x6C;
case 17: return 0x6C;
case 18: return 0x6C;
case 19: return 0x00;
case 20: return 0x00;
case 21: return 0x00;
case 22: return 0x00;
case 23: return 0x00;
case 24: return 0x6C;
case 25: return 0x6C;
case 26: return 0xFE;
case 27: return 0x6C;
case 28: return 0xFE;
case 29: return 0x6C;
case 30: return 0x6C;
case 31: return 0x00;
case 32: return 0x30;
case 33: return 0x7C;
case 34: return 0xC0;
case 35: return 0x78;
case 36: return 0x0C;
case 37: return 0xF8;
case 38: return 0x30;
case 39: return 0x00;
case 40: return 0x00;
case 41: return 0xC6;
case 42: return 0xCC;
case 43: return 0x18;
case 44: return 0x30;
case 45: return 0x66;
case 46: return 0xC6;
case 47: return 0x00;
case 48: return 0x38;
case 49: return 0x6C;
case 50: return 0x38;
case 51: return 0x76;
case 52: return 0xDC;
case 53: return 0xCC;
case 54: return 0x76;
case 55: return 0x00;
case 56: return 0x60;
case 57: return 0x60;
case 58: return 0xC0;
case 59: return 0x00;
case 60: return 0x00;
case 61: return 0x00;
case 62: return 0x00;
case 63: return 0x00;
case 64: return 0x18;
case 65: return 0x30;
case 66: return 0x60;
case 67: return 0x60;
case 68: return 0x60;
case 69: return 0x30;
case 70: return 0x18;
case 71: return 0x00;
case 72: return 0x60;
case 73: return 0x30;
case 74: return 0x18;
case 75: return 0x18;
case 76: return 0x18;
case 77: return 0x30;
case 78: return 0x60;
case 79: return 0x00;
case 80: return 0x00;
case 81: return 0x66;
case 82: return 0x3C;
case 83: return 0xFF;
case 84: return 0x3C;
case 85: return 0x66;
case 86: return 0x00;
case 87: return 0x00;
case 88: return 0x00;
case 89: return 0x30;
case 90: return 0x30;
case 91: return 0xFC;
case 92: return 0x30;
case 93: return 0x30;
case 94: return 0x00;
case 95: return 0x00;
case 96: return 0x00;
case 97: return 0x00;
case 98: return 0x00;
case 99: return 0x00;
case 100: return 0x00;
case 101: return 0x30;
case 102: return 0x30;
case 103: return 0x60;
case 104: return 0x00;
case 105: return 0x00;
case 106: return 0x00;
case 107: return 0xFC;
case 108: return 0x00;
case 109: return 0x00;
case 110: return 0x00;
case 111: return 0x00;
case 112: return 0x00;
case 113: return 0x00;
case 114: return 0x00;
case 115: return 0x00;
case 116: return 0x00;
case 117: return 0x30;
case 118: return 0x30;
case 119: return 0x00;
case 120: return 0x06;
case 121: return 0x0C;
case 122: return 0x18;
case 123: return 0x30;
case 124: return 0x60;
case 125: return 0xC0;
case 126: return 0x80;
case 127: return 0x00;
case 128: return 0x7C;
case 129: return 0xC6;
case 130: return 0xCE;
case 131: return 0xDE;
case 132: return 0xF6;
case 133: return 0xE6;
case 134: return 0x7C;
case 135: return 0x00;
case 136: return 0x30;
case 137: return 0x70;
case 138: return 0x30;
case 139: return 0x30;
case 140: return 0x30;
case 141: return 0x30;
case 142: return 0xFC;
case 143: return 0x00;
case 144: return 0x78;
case 145: return 0xCC;
case 146: return 0x0C;
case 147: return 0x38;
case 148: return 0x60;
case 149: return 0xCC;
case 150: return 0xFC;
case 151: return 0x00;
case 152: return 0x78;
case 153: return 0xCC;
case 154: return 0x0C;
case 155: return 0x38;
case 156: return 0x0C;
case 157: return 0xCC;
case 158: return 0x78;
case 159: return 0x00;
case 160: return 0x1C;
case 161: return 0x3C;
case 162: return 0x6C;
case 163: return 0xCC;
case 164: return 0xFE;
case 165: return 0x0C;
case 166: return 0x1E;
case 167: return 0x00;
case 168: return 0xFC;
case 169: return 0xC0;
case 170: return 0xF8;
case 171: return 0x0C;
case 172: return 0x0C;
case 173: return 0xCC;
case 174: return 0x78;
case 175: return 0x00;
case 176: return 0x38;
case 177: return 0x60;
case 178: return 0xC0;
case 179: return 0xF8;
case 180: return 0xCC;
case 181: return 0xCC;
case 182: return 0x78;
case 183: return 0x00;
case 184: return 0xFC;
case 185: return 0xCC;
case 186: return 0x0C;
case 187: return 0x18;
case 188: return 0x30;
case 189: return 0x30;
case 190: return 0x30;
case 191: return 0x00;
case 192: return 0x78;
case 193: return 0xCC;
case 194: return 0xCC;
case 195: return 0x78;
case 196: return 0xCC;
case 197: return 0xCC;
case 198: return 0x78;
case 199: return 0x00;
case 200: return 0x78;
case 201: return 0xCC;
case 202: return 0xCC;
case 203: return 0x7C;
case 204: return 0x0C;
case 205: return 0x18;
case 206: return 0x70;
case 207: return 0x00;
case 208: return 0x00;
case 209: return 0x30;
case 210: return 0x30;
case 211: return 0x00;
case 212: return 0x00;
case 213: return 0x30;
case 214: return 0x30;
case 215: return 0x00;
case 216: return 0x00;
case 217: return 0x30;
case 218: return 0x30;
case 219: return 0x00;
case 220: return 0x00;
case 221: return 0x30;
case 222: return 0x30;
case 223: return 0x60;
case 224: return 0x18;
case 225: return 0x30;
case 226: return 0x60;
case 227: return 0xC0;
case 228: return 0x60;
case 229: return 0x30;
case 230: return 0x18;
case 231: return 0x00;
case 232: return 0x00;
case 233: return 0x00;
case 234: return 0xFC;
case 235: return 0x00;
case 236: return 0x00;
case 237: return 0xFC;
case 238: return 0x00;
case 239: return 0x00;
case 240: return 0x60;
case 241: return 0x30;
case 242: return 0x18;
case 243: return 0x0C;
case 244: return 0x18;
case 245: return 0x30;
case 246: return 0x60;
case 247: return 0x00;
case 248: return 0x78;
case 249: return 0xCC;
case 250: return 0x0C;
case 251: return 0x18;
case 252: return 0x30;
case 253: return 0x00;
case 254: return 0x30;
case 255: return 0x00;
case 256: return 0x7C;
case 257: return 0xC6;
case 258: return 0xDE;
case 259: return 0xDE;
case 260: return 0xDE;
case 261: return 0xC0;
case 262: return 0x78;
case 263: return 0x00;
case 264: return 0x30;
case 265: return 0x78;
case 266: return 0xCC;
case 267: return 0xCC;
case 268: return 0xFC;
case 269: return 0xCC;
case 270: return 0xCC;
case 271: return 0x00;
case 272: return 0xFC;
case 273: return 0x66;
case 274: return 0x66;
case 275: return 0x7C;
case 276: return 0x66;
case 277: return 0x66;
case 278: return 0xFC;
case 279: return 0x00;
case 280: return 0x3C;
case 281: return 0x66;
case 282: return 0xC0;
case 283: return 0xC0;
case 284: return 0xC0;
case 285: return 0x66;
case 286: return 0x3C;
case 287: return 0x00;
case 288: return 0xF8;
case 289: return 0x6C;
case 290: return 0x66;
case 291: return 0x66;
case 292: return 0x66;
case 293: return 0x6C;
case 294: return 0xF8;
case 295: return 0x00;
case 296: return 0xFE;
case 297: return 0x62;
case 298: return 0x68;
case 299: return 0x78;
case 300: return 0x68;
case 301: return 0x62;
case 302: return 0xFE;
case 303: return 0x00;
case 304: return 0xFE;
case 305: return 0x62;
case 306: return 0x68;
case 307: return 0x78;
case 308: return 0x68;
case 309: return 0x60;
case 310: return 0xF0;
case 311: return 0x00;
case 312: return 0x3C;
case 313: return 0x66;
case 314: return 0xC0;
case 315: return 0xC0;
case 316: return 0xCE;
case 317: return 0x66;
case 318: return 0x3E;
case 319: return 0x00;
case 320: return 0xCC;
case 321: return 0xCC;
case 322: return 0xCC;
case 323: return 0xFC;
case 324: return 0xCC;
case 325: return 0xCC;
case 326: return 0xCC;
case 327: return 0x00;
case 328: return 0x78;
case 329: return 0x30;
case 330: return 0x30;
case 331: return 0x30;
case 332: return 0x30;
case 333: return 0x30;
case 334: return 0x78;
case 335: return 0x00;
case 336: return 0x1E;
case 337: return 0x0C;
case 338: return 0x0C;
case 339: return 0x0C;
case 340: return 0xCC;
case 341: return 0xCC;
case 342: return 0x78;
case 343: return 0x00;
case 344: return 0xE6;
case 345: return 0x66;
case 346: return 0x6C;
case 347: return 0x78;
case 348: return 0x6C;
case 349: return 0x66;
case 350: return 0xE6;
case 351: return 0x00;
case 352: return 0xF0;
case 353: return 0x60;
case 354: return 0x60;
case 355: return 0x60;
case 356: return 0x62;
case 357: return 0x66;
case 358: return 0xFE;
case 359: return 0x00;
case 360: return 0xC6;
case 361: return 0xEE;
case 362: return 0xFE;
case 363: return 0xFE;
case 364: return 0xD6;
case 365: return 0xC6;
case 366: return 0xC6;
case 367: return 0x00;
case 368: return 0xC6;
case 369: return 0xE6;
case 370: return 0xF6;
case 371: return 0xDE;
case 372: return 0xCE;
case 373: return 0xC6;
case 374: return 0xC6;
case 375: return 0x00;
case 376: return 0x38;
case 377: return 0x6C;
case 378: return 0xC6;
case 379: return 0xC6;
case 380: return 0xC6;
case 381: return 0x6C;
case 382: return 0x38;
case 383: return 0x00;
case 384: return 0xFC;
case 385: return 0x66;
case 386: return 0x66;
case 387: return 0x7C;
case 388: return 0x60;
case 389: return 0x60;
case 390: return 0xF0;
case 391: return 0x00;
case 392: return 0x78;
case 393: return 0xCC;
case 394: return 0xCC;
case 395: return 0xCC;
case 396: return 0xDC;
case 397: return 0x78;
case 398: return 0x1C;
case 399: return 0x00;
case 400: return 0xFC;
case 401: return 0x66;
case 402: return 0x66;
case 403: return 0x7C;
case 404: return 0x6C;
case 405: return 0x66;
case 406: return 0xE6;
case 407: return 0x00;
case 408: return 0x78;
10  Forum 2005-2010 (read only) / Interfacing / Re: Sure Electronics Compass Module Dc-SS503 I2C on: November 14, 2010, 03:12:17 am
Hi

I have tested the module with Bus Pirate. Here I have 2 reads. The second read is when the module is in the opposite side than the first read.

First read: 0x08  0x20  0x07  0xF5  0x10
Second read: 0x07  0xA2  0x07  0xF5  0x10

I don't understand the bytes. The first byte should be the register byte, but it seems to be one of the axis. The last three bytes are always the same.

Can anybody put some results in this post?


Pages: [1]