2
$\begingroup$

If I understand the manual, each leg in each of the 7 segment displays is labeled with a letter A-G. These letters then map to specific bits in a byte - 1 byte for each of the 4 displays. Setting a bit turns on the corresponding leg while not setting it leaves it off.

With this understanding, I tried to turn on all the A segments by sending

[163][1][1][1][1]

Instead of the A segment in each display turning on, the displays all showed a 1. Further testing shows that if I send the numbers 1-9 for any of the displays, they will display the number sent. Sending the number 10 or greater turns on various combinations of the segments.

I was able to activate individual segments with the following numbers:

63 G
64 A
65 B
66 C
67 D
68 E
69 F

However, I haven't been able to determine how the bytes sent affect the individual segments. Either I don't understand the manual or Digit LEDs Raw does not work as the manual specifies.

UPDATE 03JUNE2016

I have confirmed this behavior exists in the following firmware versions:

  • r3-robot/tags/release-3.4.1:5858 CLEAN
  • r3_robot/tags/release-3.2.6:4975 CLEAN
$\endgroup$
4
  • $\begingroup$ Not that there were any relevant changes to this command, but you should use the most up to date manual which is available at irobot.com/create. $\endgroup$
    – Ben
    Commented Jun 2, 2016 at 1:30
  • $\begingroup$ @Ben: While I agree that "use the most up to date manual" is always good advice, I can't find the words "manual" or "datasheet" or "spec" anywhere on page irobot.com/create . $\endgroup$
    – David Cary
    Commented Jul 19, 2016 at 15:18
  • $\begingroup$ @DavidCary I agree it is a little confusing. I point people to irobot.com/create because that link should always be valid, and will be redirected to wherever we put our current Create page (for example: irobot.com/About-iRobot/STEM/Create-2.aspx). Which you can see may be deprecated if there is ever a Create-3. $\endgroup$
    – Ben
    Commented May 19, 2017 at 12:39
  • $\begingroup$ To get to the current documentation, click on the "Get Started" link, then "Create 2 Open Interface Spec". $\endgroup$
    – Ben
    Commented May 19, 2017 at 12:41

2 Answers 2

1
$\begingroup$

Opcode 163 has a known bug in it and should not be used.

$\endgroup$
2
  • $\begingroup$ Ben, can you link to any bug tracker or other documentation that shows the bug, what the bug causes, and an indication if/when the bug got resolved? $\endgroup$
    – Chuck
    Commented Jul 21, 2016 at 17:58
  • 2
    $\begingroup$ @Chuck Unfortunately, we don't have a bug tracker. But the latest OI Spec document indicates this as a known bug in the description of opcode 163, and in the list of known bugs in Appendix B. $\endgroup$
    – Ben
    Commented May 19, 2017 at 12:34
0
$\begingroup$

From what I see here, it appears that the manual does not reflect the behavior that you are seeing. The sequence of ASCII values [163][1][1][1][1] (0xA3 0x01 0x01 0x01 0x01) should produce 4 lit A segments on the display, just like you noted.

The behavior you're seeing doesn't even match what the manual says for code 164 (ASCII input). For all the displays to show a '1', that command would be 0xA4 0x31 0x31 0x31 0x31.

$\endgroup$
1
  • $\begingroup$ A note for op code 164 - I have tested it, and it works as detailed in the manual. You are correct in that the behavior I am seeing matches neither or the op codes. $\endgroup$
    – lemoneer
    Commented May 31, 2016 at 18:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.