#include "pm.h"
Go to the source code of this file.
Defines | |
#define | __FILE_ID__ 0x15 |
#define | PM_THREAD_TIMESLICE_MS 10 |
Functions | |
PmReturn_t | pm_init (PmMemSpace_t memspace, uint8_t const *const pusrimg) |
PmReturn_t | pm_run (uint8_t const *modstr) |
PmReturn_t | pm_vmPeriodic (uint16_t usecsSinceLastCall) |
Variables | |
volatile uint32_t | pm_timerMsTicks = 0 |
volatile uint32_t | pm_lastRescheduleTimestamp = 0 |
High-level functions to initialize and run PyMite
Definition in file pm.c.
#define PM_THREAD_TIMESLICE_MS 10 |
PmReturn_t pm_init | ( | PmMemSpace_t | memspace, | |
uint8_t const *const | pusrimg | |||
) |
Initializes the PyMite virtual machine and indexes the user's application image. The VM heap and globals are reset. The argument, pusrimg, may be null for interactive sessions.
memspace | Memory space in which the user image is located | |
pusrimg | Address of the user image in the memory space |
PmReturn_t pm_run | ( | uint8_t const * | modstr | ) |
PmReturn_t pm_vmPeriodic | ( | uint16_t | usecsSinceLastCall | ) |
Needs to be called periodically by the host program. For the desktop target, it is periodically called using a signal. For embedded targets, it needs to be called periodically. It should be called from a timer interrupt.
usecsSinceLastCall | Microseconds (not less than those) that passed since last call. This must be <64535. |
volatile uint32_t pm_lastRescheduleTimestamp = 0 |
volatile uint32_t pm_timerMsTicks = 0 |