Hardware-set-ups

From Wiki at Neela Nurseries
Revision as of 20:35, 20 October 2022 by Ted (talk | contribs) (Add section on Zephyr basic/blinky_pwm sample and lpcxpresso55s69_cpu0 board)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

(1) Rpi RP2040 DEV-18288 set up 2022 Q2:

On Rpi Sparkfun board, DEV-18288 have an LED connected from GPIO p0_7, through 22kOhm resistor to plus rail pin left of the USB-C connector.

   +---------+
   |        9|     ^^
   |        8|    //
   |        7|---|>|---/\/\/---+
   |        6|          22k    |   
   |        5|                 |
   |        4|                 |zephyr
   |        3|                 |
   |        2|                 |
   |3V3   GND|                 |
   |RST   GND|                 |
   |GDN    RX|                 |
+--|+      TX|                 |
|  +---------+                 |
|                              |
+------------------------------+


^ Serial port loopback test on Linux

In two terminal windows, programs `echo` and `cat` can be used to test a serial port connected to a loopback cable. This testing also effectively demonstrates the working of serial drivers under Linux. Works for USB-based FTDI cables which convert USB to a serial link. Works for the much older 16550 based serial port peripheral chips.

A third and precursor command, `stty` is also needed to configure given serial port for sane operation during these tests. A couple of options to `stty` utility disable a default echoing behavior on given serial port. Another option suppresses a conversion or handling of carriage return bytes, e.g. stops serial port driver at some level from converting CR to CRLF.

Invocation of stty is:

 stty -F /dev/ttyUSB4 -echo -onlcr

Reference: https://super-unix.com/unixlinux/unexpected-results-testing-serial-loopback-using-echo-and-cat/


^ lpcxpresso55x69 Eval Board DTS files and SCTimer0

See file in Zephyr 3.2.0 source tree, path `zephyr/boards/arm/lpcxpresso55s69/lpcxpresso55s69-pinctrl.dtsi` and review lines:

76         pinmux_sctimer_default: pinmux_sctimer_default {
77                 group0 {
78                         pinmux = <SCT0_OUT2_PIO0_15>,
79                                 <SCT0_OUT0_PIO1_4>;
80                         slew-rate = "standard";
81                 };
82         };

Signal names PIO0_15 and PIO1_4 can be located on NXP schematic file for eval board, file `LPCXpresso55S69_Board_Schematic_RevA2_dec4.pdf`. The connection from SCTIMER_OUT0 appears to tie to `LEDB` which is the blue LED on this eval board. A build of the sample app without modifications however produces following Zephyr console output, ending with a PWM setting error message:

*** Booting Zephyr OS build zephyr-v3.2.0  ***
PWM-based blinky
Calibrating for channel 0...
[00:00:00.008,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

Done calibrating; maximum/minimum periods 1000000000/7812500 usec
[00:00:04.023,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:08.032,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:12.041,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:16.050,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:20.059,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:24.068,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:28.077,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:32.086,000] <dbg> pwm_mcux_sctimer: mcux_sctimer_pwm_set_cycles: SETUP dutycycle to 50

[00:00:32.095,000] <err> pwm_mcux_sctimer: Could not set up pwm
Error -134: failed to set pulse width