pm.c File Reference

PyMite User API. More...

#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


Detailed Description

PyMite User API.

High-level functions to initialize and run PyMite

Definition in file pm.c.


Define Documentation

#define PM_THREAD_TIMESLICE_MS   10

Number of millisecond-ticks to pass before scheduler is run

Definition at line 32 of file pm.c.


Function Documentation

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.

Parameters:
memspace Memory space in which the user image is located
pusrimg Address of the user image in the memory space
Returns:
Return status

Definition at line 43 of file pm.c.

PmReturn_t pm_run ( uint8_t const *  modstr  ) 

Executes the named module

Parameters:
modstr Name of module to run
Returns:
Return status

Definition at line 69 of file pm.c.

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.

Parameters:
usecsSinceLastCall Microseconds (not less than those) that passed since last call. This must be <64535.
Returns:
Return status

Definition at line 103 of file pm.c.


Variable Documentation

Stores tick timestamp of last scheduler run

Definition at line 39 of file pm.c.

volatile uint32_t pm_timerMsTicks = 0

Stores the timer millisecond-ticks since system start

Definition at line 36 of file pm.c.


Generated on Mon Oct 18 07:40:49 2010 for Python-on-a-chip by  doxygen 1.5.9