Weekly Progress Report: BeagleBone Cape add-on board compatibility layer

This is the Weekly Report page for the BeagleBone Cape add-on board compatibility layer.

Weekly Reports: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
YouTube Video: in preparation with possible changes to the overall goal

1 Like

Please provide content in a response to this thread once a week. You can just copy and paste from your weekly reports, but we shouldn’t need to go to another site to get this update.

Oh, sorry I just notice your response. Copy that.

Week 3

What I did this week

  • I put together with my mentor the areas that I should have done but didn’t understand.

Blocker

  • To be honest, I had so many misconceptions, so I have to revise my goals.

What to do next

  • Get Kernel 5.10 debian for BBB and BBAI
  • rebuild the code in the device tree and boot with it
  • Test my device drivers by pushing them to BeagleBoard-DeviceTrees
  • Start with the base device tree and test with each Cape

Week 4

What I did this week

  • Get Kernel 5.10 debian for BBB and BBAI

Blocker

  • Only kernel 4.19 with BBAI could not be started.
    • Eventually it was discovered that it seems to be a problem with the SD card and it has been fixed.
  • I’m looking into how to build an environment to build device drivers.

What to do next

(Continuing from last week)

  • rebuild the code in the device tree and boot with it
  • Test my device drivers by pushing them to BeagleBoard-DeviceTrees
  • Start with the base device tree and test with each Cape

From now on, I will also paste Daily Reports here.

Jul 15

Basic Information

  • How many time I spend today?: 3 hours
    • I will spend 8 hours tommorow…

What I did today

  • Updated the sdcard (for iot build) and change uEnv.txt to load overlay.

    • /proc/device-tree/overlay/chosen is not showed up yet. I will continue my investigation.
    • BBAI 5.10 image is not load. But, without UART, it is difficult to find the problem so I ignored this time

    bootlog for overlays (BBAI 5.10)

  • To understand the flow of the compiling device tree, I read the books called “”

    • I have faced the problem that I can’t compile dtc on Ubuntu. I should use in-kernel one instread of the Ubuntu one. (/dtc/script)
      • By the way, it is better to place the dts files on the exsisting linux kernel and run “make dtb”.
    • To change the device tree overlay, I still reading the section “Understanding and Leveraging the Device Tree”

What I should do next

  • Finish reading the Device Tree section (another 25 pages.)
  • Investigate the nomal behaivor of Relay cape and try to work correctly on 5.10.

Others

Is it better to use the Slack Huddle function instead of the Goole Meet for daily meeting? It makes joining the meeting more easier.

Jul 16

  • Total 7 hours: Just read the book. 10:00-11:00, 15:00-18:00, 22:00-24:00

What I did today

  • Read the section called “Understanding and Leveraging the Device Tree” (Linux Device Driver Development Secound Edition)
    • Understand the basic stracture of device tree and device tree overlay
    • Basic flow for the adding device tree overlay to the kernel
    • How to handle SPI and I2C device addressing

Yesterday, I wrote that there were 25 pages left, but I had only read the device tree overlay section first and not the front page. Therefore, I am rereading from the beginning and there are 15 pages left.

What I should do next

  • I will finish the remaining 15 pages of the book I am reading now before I sleep.
  • Tomorrow, I will continue to investigate the nomal behaivor of Relay cape and try to work correctly on 5.10.

Jul 17

What I did today

  • Relay Cape worked with the current device tree without changing anything in the 5.10 BBB.

Log of manipulating relay cape on 4.19 BBBlack

Log of manipulating relay cape on 5.10 BBBlack

AI is having problems with not being able to SSH over Ethernet, but the 1.5mm pitch connector to connect the UART will arrive on Tuesday, so until then I will go ahead and build a device tree to make the RoboticsCape LEDs glow with AI.

  • At this point, I realized that I was also missing a connector to connect to Robotics Cape, so I ordered one. (ZH and SH cables)

Anyway, First, try to start Robotics Cape in the usual way.Toverlay the device tree, I read the device tree in the librobotcontrol repository with the Device Tree documentation in the Linux kernel.

https://github.com/StrawsonDesign/Robotics_Cape_Documentation/blob/master/SD-101D_schematic.pdf

https://github.com/beagleboard/librobotcontrol/blob/master/device_tree/dtb-4.14-ti/am335x-boneblack-roboticscape.dts

What I should do next

I didn’t write any code yesterday or today, so I hope to write code for Robotics capes tomorrow to get something up.

  • [By tommorow] Make minimum overay (only include the user led manipulation) for Linux 5.10 BBB
  • Other Capes (Communication, Prototype, Servo, etc) confirmed to work correctly with 5.10 BBB
1 Like

@gpioblink ,

I cannot wait to see what you do w/ the ProtoCape and ServoCape.

Seth

P.S. Keep doing well.

1 Like

Week 5

What I did this week

  • Understanding the device tree overlay using “Linux Device Driver Development” book.
  • Ordered the missing connectors (ZH and SH cables needed for the debugging)
  • Using the Relay cape, I tested the flow of the device tree using BBB 4.19, BBB 5.10. (BBAI one is note tested yet because it needs more cables that have arrived today)
  • Start writing the robotics cape device tree for kernel BBB 5.10

Blocker

  • Nothing major, but overall it seems necessary to gain knowledge of the device tree.
    • I am working on it little by little, referring to kernel documentation, etc.

What to do next

(Continuing from last week)

  • Test my device drivers by pushing them to BeagleBoard-DeviceTrees
  • Start with the base device tree and test with each Cape (only relay and robotics yet)

@gpioblink side note, i’ve been testing a few things from our last GSOC, in v4.19.x-ti, so big merge happened this last week in v5.10.x → v5.19.x (bone) branch’s…

i’m boot testing this right now, will merge to “v5.10.x-ti” branch, so it’ll more closely align with v4.19.x-ti-overlays branch from last GSOC…

It looks massive, but it’s mostly a cleanup to use this macro…

/* macro: BONE_PIN( <pin>, <mode_name>, <register_value_macro(s)> */
#define BONE_PIN(XX,ZZ,QQ) \
	XX##_##ZZ##_pin: pinmux_##XX##_##ZZ##_pin { pinctrl-single,pins = < QQ >; };

Regards,

2 Likes

Week 6

What I did this week

  • Upload YouTube video
  • Test my device drivers by pushing them to BeagleBoard-DeviceTrees
    • It was too hard to make it directly in robotics cape, for now, I decided to start with a single GPIO pin.

Blocker

  • I can boot Linux and log in, but the loaded device tree does not appear in /sys/class/leds where it should appear.
    • I am looking for clues to solve the problem by asking questions to my mentor and reading more references.

What to do next

  • Making LED device drivers in 5.10
  • Create device drivers for Robotics Cape

Week 7

What I did this week

Blocker

  • It is taking time to build BBAI’s development environment
    • I want to adjust the vscode running on BBAI.
    • I am not getting a stable serial.

→ Now I’m looking for ways to use it, including tethering with a smart phone!

What to do next

  • Create a device tree of LEDs for BBAI and BBAI-64.
  • Continue to work on the Cape overlay, including I2C and SPI.

Week 8

What I did this week

Blocker

  • I am stuck in the BBAI-64 environment construction.
    • The SD card does not appear to be loaded at boot time.
    • While trying to cope, the UART becomes unstable and cannot be input.

→ I will try to make a barrel jack cable to see if there is still a high possibility of power supply problems.

What to do next

  • Create a device tree of LEDs for BBAI-64.
  • (Not done this week) Continue to work on the Cape overlay, including I2C and SPI.

I will share Week 1 and Week 2 reports that I did not write here.

Week 1

What I did this week

  • Read Mastering Embedded Linux Programming and looked at how to build a device tree

What to do next

  • To use a device tree overlay, I need to build an environment.

Week 2

What I did this week

  • Examined what I need to do to boot the SD card (unresolved)

Blocker

  • Still haven’t succeeded in getting it to run with a single partition on the SD card
    • I have no choice but to adjust to using the official firmware

What to do next

  • Making a Youtube Video soon
  • I haven’t made much progress to be honest. Therefore, I will try my best to finish Mailstone 1 next week.

Do you have a serial log of this?

Regards,

Sorry, I have stopped updating the Daily Report recently.

Aug 26

What I did today

  • Currently continuing to validate for writing for I2C and UART for help
    • I am considering and describing a method using a suitable sensor and a method that can be run in loopback.

Blocker

  • As for BBAI-64, I am currently requesting a new one.

Week 12

What I did this week

  • I continued to fill out the form about how to use Cape.
    • I am currently verifying the operation of Communication Cape using oscilloscopes and loopbacks.
      • It was made very much slower than expected and I have just submitted a pull request as of now.

Blocker

  • BBAI has broken down and I am waiting for delivery.
    • I had a new one shipped. We are in the process of sending the old one back so that they can look at it.

What to do next

  • Continue to create overlays for other Capes.

Aug 29

What I am doing now

I am testing Communication Cape and writing tutorial articles in order to publish pull requests.

What I did today

  • I was trying to figure out how to debug the communication cape for the article.
    • The RS-485 one is being looped back and proved correct by oscilloscope.
      • Using ADALM PLUTO
    • As for CAN, I’m about to buy a transceiver to try it out.
      • register, canvas
      • pullup register will break for i2c
      • CAN capes
      • disable I2C

Blocker

  • There are not enough peripherals for testing.
  • Acquisition of BBAI-64 is stalled.

Aug 30

What I am doing now

I am testing Communication Cape and writing tutorial articles in order to publish pull requests.

What I did today

  • I am currently able to see the signal using ADALM and have confirmed that RS-485 appears to have some output when characters are input to the dev device.
    • I am currently in the process of describing a tutorial on how to do this.
    • Incidentally, it was RS422, not RS485, that I had experience using. There is no big difference, though.
  • I have not started working on CAN yet and will continue to do so.

Aug 31

What I am doing now

I am testing Communication Cape and writing tutorial articles in order to publish pull requests.

What I did today

  • I’ ve gone through the RS-485 and am now continuing to check the CAN connections.

Blocker

  • ADALM2000 is not working well and we are currently trying to find the cause
    • Logic analyzer is selectable, but some functions such as oscilloscope are not selectable
    • It seems to be a power supply issue somehow, so I am trying to add an auxiliary power supply now.