Project:HM55B

From London Hackspace Wiki
Revision as of 23:58, 2 September 2010 by Ms7821 (talk | contribs)
Jump to navigation Jump to search

Module

$20-25 compass module for embedded systems. SMD will be cheaper.

Datasheet


Testing with the BusPirate

BusPirate settings:

  • M (mode)
  • 8 (3-wire raw)
  • 4 (400KHz)
  • 2 (3.3V high)
  • W (turn on 5V output)

Reset:

\[/_\/_\/_\/_\&:10]
RAW3WIRE>\[/_\/_\/_\/_\&:10]
CLOCK, 0
CS ENABLED
CLOCK, 1
DATA OUTPUT, 0
CLOCK, 0
CLOCK, 1
DATA OUTPUT, 0
CLOCK, 0
CLOCK, 1
DATA OUTPUT, 0
CLOCK, 0
CLOCK, 1
DATA OUTPUT, 0
CLOCK, 0
DELAY 0b00001010uS
CS DISABLED


Take sample (1100 is the response for success, 00xx is for incomplete, xx11 is error, see p9 of datasheet)

\[/-\/_\/_\/_\&&]&:10[&:10/-\/-\/_\/_\!!!!&!!!!!!!!!!!&!!!!!!!!!!!]
READ BIT: 1
READ BIT: 1
READ BIT: 0
READ BIT: 0
DELAY 0b00000001uS
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 1
READ BIT: 0
READ BIT: 0
READ BIT: 0
READ BIT: 0
DELAY 0b00000001uS
READ BIT: 1
READ BIT: 1
READ BIT: 1
READ BIT: 1
READ BIT: 1
READ BIT: 1
READ BIT: 1
READ BIT: 1
READ BIT: 1
READ BIT: 0
READ BIT: 0

Note that you need to delay with &&, because &:50000 doesn't seem to work, but the BusPirate parser obviously creates enough of a delay. This means that we don't know how fast it can be clocked, because each ! will be > 50ms apart.

Sample values:

0,-6

-1,-11

-1,-19