Skip to content
Snippets Groups Projects
Select Git revision
  • d5e9ab6e61729f533dbed5c2b6b27307ce6c3b55
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

machine.rst

Blame
  • user avatar
    Paul Sokolovsky authored
    machine.time_pulse_us() is intended to provide very fine timing, including
    while working with signal bursts, where each transition is tracked in row.
    Throwing and handling an exception may take too much time and "signal loss".
    So instead, in case of a timeout, just return negative value. Cases of
    timeout while waiting for initial signal stabilization, and during actual
    timing, are recognized.
    
    The documentation is updated accordingly, and rewritten somewhat to clarify
    the function behavior.
    d5e9ab6e
    History
    machine.rst 5.30 KiB

    :mod:`machine` --- functions related to the hardware

    The machine module contains specific functions related to the hardware on a particular board. Most functions in this module allow to achieve direct and unrestricted access to and control of hardware blocks on a system (like CPU, timers, buses, etc.). Used incorrectly, this can lead to malfunction, lockups, crashes of your board, and in extreme cases, hardware damage.

    A note of callbacks used by functions and class methods of machine module: all these callbacks should be considered as executing in an interrupt context. This is true for both physical devices with IDs >= 0 and "virtual" devices with negative IDs like -1 (these "virtual" devices are still thin shims on top of real hardware and real hardware intrerrupts). See :ref:`isr_rules`.

    Reset related functions

    Interrupt related functions

    Power related functions

    Miscellaneous functions

    Constants

    Classes