This is to let you know that the TXT 4.0 Internals and Programming book is now available as premium full-colour paperback from Amazon.
Compared to the editorial draft from a couple of weeks ago, the published version has a few hundred small corrections (typos, spelling errors, etc.), a new example about managing multiple extension controllers from a Python program (section 22.3.11), and small updates to some of the figures.
Corrected and updated draft versions for personal use are again available as free PDF downloads from:
https://tarma.com/embedded/txt4book
The book covers most aspects of the hardware and software internals of the fischertechnik TXT 4.0 controller, along with chapters about application development for that controller. Find out:
- Why the counting inputs C1-C4 can only count 500 pulses per second instead of the 1000 per second that fischertechnik claims (sections 8.2 and 24.3.5)
- How the resistance and NTC temperatures are calculated for inputs I1-I8 (sections 7.2.4 to 7.2.6)
- How the ultrasonic distance sensor protocol works (section 7.4)
- What the output signals on O1-O8 / M1-M4 look like under various loads (sections 9.4.1 to 9.4.6)
- How to switch between boot partitions A and B (section 5.4.5)
- How to obtain root access and add yourself to the sudoers list (sections 2.4 and 2.4.1)
- How the various interface protocols work: CAN (chapter 11), I2C (chapter 12), USB (chapter 13)
- How extension controllers are discovered and registered (section 11.3)
- How to program each sensor and actuator, from micro switches and LEDs to encoder motors, each I2C sensor, and the USB colour camera (chapters 23 to 29)
- How to program mecanum vehicle movements efficiently (section 26.4.6)
- How the image processing steps by the ball detector (section 30.3.6), line detector (section 30.3.9), and motion detector (section 30.3.11) algorithms work.
- The internal operation of the TXT 4.0 controller: the STM32MP157 SoC and its CPUs, peripherals, storage, and the way the Linux and FreeRTOS operating systems are used.
- The details of the embedded firmware and how it implements the front-panel I/O connections: the universal inputs I1-I8, the counter inputs C1-C4, the general outputs O1-O8 and motor outputs M1-M4, and the servo outputs S1-S3.
- The way that multiple TXT 4.0 controllers are connected in an extension chain using the CAN FD protocol within the EXT1-EXT2 connectors and how they interact with each other.
- The I2C interface within the EXT1-EXT2 connectors and how it is used to communicate with I2C-based sensors. The sensors themselves are discussed separately.
- The USB1 host and the USB2 device ports and how each of them, and the USB protocol itself, operates in the context of the TXT 4.0.
- A complete treatment of all current fischertechnik sensors and actuators: their technical data, operation, and programming.
- A complete programming reference for the C client libraries TxtControlLib and ftlock.
- A complete programming reference for the fischertechnik Python class library.
-- David