2

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
lemoneer
  • 51
  • 4
  • Not that there were any relevant changes to this command, but you should use the most up to date manual which is available at http://www.irobot.com/create. – Ben Jun 02 '16 at 01:30
  • @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 http://www.irobot.com/create . – David Cary Jul 19 '16 at 15:18
  • @DavidCary I agree it is a little confusing. I point people to http://irobot.com/create because that link should always be valid, and will be redirected to wherever we put our current Create page (for example: http://www.irobot.com/About-iRobot/STEM/Create-2.aspx). Which you can see may be deprecated if there is ever a Create-3. – Ben May 19 '17 at 12:39
  • To get to the current documentation, click on the "Get Started" link, then "Create 2 Open Interface Spec". – Ben May 19 '17 at 12:41

2 Answers2

1

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

Ben
  • 5,855
  • 3
  • 28
  • 48
  • 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? – Chuck Jul 21 '16 at 17:58
  • 2
    @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. – Ben May 19 '17 at 12:34
0

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.

Ian
  • 11,013
  • 2
  • 23
  • 65
  • 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. – lemoneer May 31 '16 at 18:45