PICSimLab - Programmable IC Simulator Laboratory 0.9.2
PICSimLab - API
Loading...
Searching...
No Matches
cboard_Breadboard Class Reference
Inheritance diagram for cboard_Breadboard:
Collaboration diagram for cboard_Breadboard:

Public Member Functions

void SetScale (double scale) override
 Set board draw scale.
 
std::string GetName (void) override
 Get board name registered in PICSimLab.
 
std::string GetAboutInfo (void) override
 Return the about information of part.
 
int DebugInit (int dtyppe) override
 Start debug support.
 
std::string GetDebugName (void) override
 Get debug interface name.
 
void DebugLoop (void) override
 debug step (pooling)
 
int CpuInitialized (void) override
 return true if microcontroller is initialized
 
void MSetSerial (const char *port) override
 Set serial port name to use.
 
int MInit (const char *processor, const char *fname, float freq) override
 board microcontroller init
 
void MEnd (void) override
 board microcontroller end
 
int MGetArchitecture (void) override
 Return board microcontroller architecture.
 
int MDumpMemory (const char *fname) override
 board microcontroller save non volatile memory to hex file
 
void MEraseFlash (void) override
 board microcontroller erase flash memory (program)
 
void MSetFreq (float freq) override
 board microcontroller set frequency
 
float MGetFreq (void) override
 board microcontroller get frequency
 
void MSetVCC (float vcc) override
 board microcontroller set vcc
 
float MGetVCC (void) override
 board microcontroller get vcc
 
float MGetInstClockFreq (void) override
 board microcontroller get cpu internal clock (in PIC frequency/4)
 
int MGetPinCount (void) override
 board microcontroller pin count
 
std::string MGetPinName (int pin) override
 board microcontroller pin name
 
void MSetPin (int pin, unsigned char value) override
 board microcontroller set digital pin
 
void MSetPinDOV (int pin, unsigned char ovalue) override
 board microcontroller set Default Open Value (external pull)
 
void MSetAPin (int pin, float value) override
 board microcontroller set analog pin
 
unsigned char MGetPin (int pin) override
 board microcontroller get digital pin value
 
const picpin * MGetPinsValues (void) override
 board microcontroller get all pins list struct
 
void MStep (void) override
 board microcontroller run one step
 
void MStepResume (void) override
 board microcontroller run one or two steps to resume instruction
 
void MReset (int flags) override
 board microcontroller reset
 
unsigned short * DBGGetProcID_p (void) override
 board microcontroller get pointer to processor ID
 
unsigned int DBGGetPC (void) override
 board microcontroller get PC
 
void DBGSetPC (unsigned int pc) override
 board microcontroller set PC
 
unsigned char * DBGGetRAM_p (void) override
 board microcontroller get RAM memory pointer
 
unsigned char * DBGGetROM_p (void) override
 board microcontroller get ROM (FLASH) memory pointer
 
unsigned char * DBGGetCONFIG_p (void) override
 board microcontroller get CONFIG memory pointer
 
unsigned char * DBGGetID_p (void) override
 board microcontroller get internal IDS memory pointer
 
unsigned char * DBGGetEEPROM_p (void) override
 board microcontroller get data EEPROM memory pointer
 
unsigned int DBGGetRAMSize (void) override
 board microcontroller get RAM memory size
 
unsigned int DBGGetROMSize (void) override
 board microcontroller get ROM (FLASH) memory size
 
unsigned int DBGGetCONFIGSize (void) override
 board microcontroller get CONFIG memory size
 
unsigned int DBGGetIDSize (void) override
 board microcontroller get internal IDS memory size
 
unsigned int DBGGetEEPROM_Size (void) override
 board microcontroller get data EEPROM memory size
 
int GetUARTRX (const int uart_num) override
 Return the UART N RX pin number.
 
int GetUARTTX (const int uart_num) override
 Return the UART N TX pin number.
 
void Draw (void) override
 Called ever 100ms to draw board.
 
void Run_CPU (void) override
 Paralle thread called ever 100ms to run cpu code.
 
std::string GetSupportedDevices (void) override
 Return a list of supported microcontrollers.
 
void Reset (void) override
 Reset board status.
 
void EvMouseButtonPress (unsigned int button, unsigned int x, unsigned int y, unsigned int state) override
 Event on the board.
 
void EvMouseButtonRelease (unsigned int button, unsigned int x, unsigned int y, unsigned int state) override
 Event on the board.
 
void EvKeyPress (unsigned int key, unsigned int mask) override
 Event on the board.
 
void EvKeyRelease (unsigned int key, unsigned int mask) override
 Event on the board.
 
void RefreshStatus (void) override
 Called ever 1s to refresh status.
 
void WritePreferences (void) override
 Called to save board preferences in configuration file.
 
void ReadPreferences (char *name, char *value) override
 Called whe configuration file load preferences.
 
unsigned short GetInputId (char *name) override
 return the input ids numbers of names used in input map
 
unsigned short GetOutputId (char *name) override
 return the output ids numbers of names used in output map
 
void EndServers (void) override
 board servers shutdown
 
int GetDefaultClock (void) override
 Get board default clock in MHz.
 
- Public Member Functions inherited from bsim_picsim
unsigned int DBGGetRAMLAWR (void) override
 board microcontroller get last ram write address
 
unsigned int DBGGetRAMLARD (void) override
 board microcontroller get last ram read address
 
- Public Member Functions inherited from board
virtual std::string GetPictureFileName (void)
 Return the filename of board picture.
 
virtual std::string GetMapFile (void)
 Return the filename of board picture map.
 
virtual void EvMouseMove (unsigned int button, unsigned int x, unsigned int y, unsigned int state)
 Event on the board.
 
virtual void EvOnShow (void)
 Event on the board.
 
virtual void EvThreadRun (void)
 Event on the board.
 
virtual void board_Event (const char *controlname)
 Called when window side controls are activated.
 
virtual void board_ButtonEvent (const char *controlname, unsigned int button, unsigned int x, unsigned int y, unsigned int state)
 Called when window side controls are activated.
 
 board (void)
 Called once on board creation.
 
virtual ~board (void)
 Called once on board destruction.
 
void SetUseOscilloscope (int uo)
 Enable/disable oscilloscope measurement.
 
void SetUseSpareParts (int sp)
 Enable/disable spare parts.
 
int GetUseOscilloscope (void)
 Get if oscilloscope is in use.
 
int GetUseSpareParts (void)
 Get if spare parts is in use.
 
void SetProcessorName (std::string proc)
 Set board processor.
 
std::string GetProcessorName (void)
 Get board processor in use.
 
int GetInputCount (void)
 Get board input count.
 
input_tGetInput (int n)
 Get board input.
 
int GetOutputCount (void)
 Get board output count.
 
output_tGetOutput (int n)
 Get board input.
 
int MGetClocksPerInstructions (void)
 board microcontroller get Clock pulses per instruction (in PIC equal to 4)
 
unsigned char CalcAngle (int i, int x, int y)
 Calc rotary potentiometer angle.
 
double GetScale (void)
 Get board draw scale.
 
std::string GetDefaultProcessor (void)
 Get board default processor.
 
void SetDefaultProcessor (std::string dproc)
 Set board default processor.
 
uint32_t GetInstCounter (void)
 Get instruction counter.
 
uint32_t GetInstCounter_us (const uint32_t start)
 Get elapsed time from instruction counter in us.
 
uint32_t GetInstCounter_ms (const uint32_t start)
 Get elapsed time from instruction counter in us.
 
int TimerRegister_us (const double micros, void(*Callback)(void *arg), void *arg)
 Register a new timer with time in us (default enabled)
 
int TimerRegister_ms (const double miles, void(*Callback)(void *arg), void *arg)
 Register a new timer with time in ms (default enabled)
 
int TimerUnregister (const int timer)
 Unregister timer.
 
int TimerChange_us (const int timer, const double micros)
 Modify timer value with us.
 
int TimerChange_ms (const int timer, const double miles)
 Modify timer value with us.
 
int TimerSetState (const int timer, const int enabled)
 Enable or disable timer.
 
uint64_t TimerGet_ns (const int timer)
 Get elapsed time from instruction counter in ns.
 
void TimerUpdateFrequency (float freq)
 Update Timer counters on frequency change.
 
virtual void IoLockAccess (void)
 Lock IO to others threads access.
 
virtual void IoUnlockAccess (void)
 Unlock IO to others threads access.
 
virtual std::string GetClkLabel (void)
 Return the description of clk label.
 
- Public Member Functions inherited from bsim_simavr
virtual void UpdateHardware (void)
 
void SerialSend (bitbang_uart_t *_bb_uart, const unsigned char value)
 

Private Attributes

int ptype
 
int micbmp
 
unsigned char jmp [1]
 

Additional Inherited Members

- Static Public Member Functions inherited from bsim_simavr
static void out_hook (struct avr_irq_t *irq, uint32_t value, void *param)
 
static void ddr_hook (struct avr_irq_t *irq, uint32_t value, void *param)
 
- Public Attributes inherited from bsim_simavr
usi_t USI
 
- Protected Member Functions inherited from board
virtual void RegisterRemoteControl (void)
 Register remote control variables.
 
void InstCounterInc (void)
 Increment the Intructions Counter.
 
void ReadMaps (void)
 Read maps.
 
void StartThread (void)
 Start parallel thread.
 
void StopThread (void)
 Stop parallel thread.
 
- Protected Member Functions inherited from bsim_simavr
void pins_reset (void)
 
- Protected Attributes inherited from bsim_picsim
_pic pic
 
- Protected Attributes inherited from board
std::string Proc
 Name of processor in use.
 
std::string DProc
 Name of default board processor.
 
input_t input [MAX_IDS]
 input map elements
 
input_tinput_ids [MAX_IDS]
 input map elements by id order
 
output_t output [MAX_IDS]
 output map elements
 
output_toutput_ids [MAX_IDS]
 output map elements by id order
 
int inputc
 input map elements counter
 
int outputc
 output map elements counter
 
int use_oscope
 use oscilloscope window
 
int use_spare
 use spare parts window
 
unsigned char p_RST
 board /RESET pin state
 
float Scale
 
- Protected Attributes inherited from bsim_simavr
avr_t * avr
 
avr_irq_t * serial_irq [MAX_UART_COUNT]
 
picpin pins [256]
 
avr_irq_t * Write_stat_irq [100]
 
unsigned int serialbaud [MAX_UART_COUNT]
 
float serialexbaud [MAX_UART_COUNT]
 
int avr_debug_type
 
serialfd_t serialfd
 
bitbang_uart_t bb_uart [MAX_UART_COUNT]
 
unsigned char * eeprom
 
unsigned char uart_config [MAX_UART_COUNT]
 
unsigned char usart_count
 
unsigned int UCSR_base [MAX_UART_COUNT]
 
int pkg
 

Member Function Documentation

◆ CpuInitialized()

int cboard_Breadboard::CpuInitialized ( void  )
overridevirtual

return true if microcontroller is initialized

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetCONFIG_p()

unsigned char * cboard_Breadboard::DBGGetCONFIG_p ( void  )
overridevirtual

board microcontroller get CONFIG memory pointer

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetCONFIGSize()

unsigned int cboard_Breadboard::DBGGetCONFIGSize ( void  )
overridevirtual

board microcontroller get CONFIG memory size

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetEEPROM_p()

unsigned char * cboard_Breadboard::DBGGetEEPROM_p ( void  )
overridevirtual

board microcontroller get data EEPROM memory pointer

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetEEPROM_Size()

unsigned int cboard_Breadboard::DBGGetEEPROM_Size ( void  )
overridevirtual

board microcontroller get data EEPROM memory size

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetID_p()

unsigned char * cboard_Breadboard::DBGGetID_p ( void  )
overridevirtual

board microcontroller get internal IDS memory pointer

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetIDSize()

unsigned int cboard_Breadboard::DBGGetIDSize ( void  )
overridevirtual

board microcontroller get internal IDS memory size

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetPC()

unsigned int cboard_Breadboard::DBGGetPC ( void  )
overridevirtual

board microcontroller get PC

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetProcID_p()

unsigned short * cboard_Breadboard::DBGGetProcID_p ( void  )
overridevirtual

board microcontroller get pointer to processor ID

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetRAM_p()

unsigned char * cboard_Breadboard::DBGGetRAM_p ( void  )
overridevirtual

board microcontroller get RAM memory pointer

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetRAMSize()

unsigned int cboard_Breadboard::DBGGetRAMSize ( void  )
overridevirtual

board microcontroller get RAM memory size

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetROM_p()

unsigned char * cboard_Breadboard::DBGGetROM_p ( void  )
overridevirtual

board microcontroller get ROM (FLASH) memory pointer

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGGetROMSize()

unsigned int cboard_Breadboard::DBGGetROMSize ( void  )
overridevirtual

board microcontroller get ROM (FLASH) memory size

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DBGSetPC()

void cboard_Breadboard::DBGSetPC ( unsigned int  pc)
overridevirtual

board microcontroller set PC

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DebugInit()

int cboard_Breadboard::DebugInit ( int  dtyppe)
overridevirtual

Start debug support.

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ DebugLoop()

void cboard_Breadboard::DebugLoop ( void  )
overridevirtual

debug step (pooling)

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ Draw()

void cboard_Breadboard::Draw ( void  )
overridevirtual

Called ever 100ms to draw board.

Implements board.

Here is the call graph for this function:

◆ EndServers()

void cboard_Breadboard::EndServers ( void  )
overridevirtual

board servers shutdown

Reimplemented from bsim_picsim.

◆ EvKeyPress()

void cboard_Breadboard::EvKeyPress ( unsigned int  key,
unsigned int  mask 
)
overridevirtual

Event on the board.

Implements board.

◆ EvKeyRelease()

void cboard_Breadboard::EvKeyRelease ( unsigned int  key,
unsigned int  mask 
)
overridevirtual

Event on the board.

Implements board.

◆ EvMouseButtonPress()

void cboard_Breadboard::EvMouseButtonPress ( unsigned int  button,
unsigned int  x,
unsigned int  y,
unsigned int  state 
)
overridevirtual

Event on the board.

Implements board.

Here is the call graph for this function:

◆ EvMouseButtonRelease()

void cboard_Breadboard::EvMouseButtonRelease ( unsigned int  button,
unsigned int  x,
unsigned int  y,
unsigned int  state 
)
overridevirtual

Event on the board.

Implements board.

Here is the call graph for this function:

◆ GetAboutInfo()

std::string cboard_Breadboard::GetAboutInfo ( void  )
inlineoverridevirtual

Return the about information of part.

Implements board.

◆ GetDebugName()

std::string cboard_Breadboard::GetDebugName ( void  )
overridevirtual

Get debug interface name.

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ GetDefaultClock()

int cboard_Breadboard::GetDefaultClock ( void  )
overridevirtual

Get board default clock in MHz.

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ GetInputId()

unsigned short cboard_Breadboard::GetInputId ( char *  name)
overridevirtual

return the input ids numbers of names used in input map

Implements board.

◆ GetName()

std::string cboard_Breadboard::GetName ( void  )
inlineoverridevirtual

Get board name registered in PICSimLab.

Implements board.

◆ GetOutputId()

unsigned short cboard_Breadboard::GetOutputId ( char *  name)
overridevirtual

return the output ids numbers of names used in output map

Implements board.

◆ GetSupportedDevices()

std::string cboard_Breadboard::GetSupportedDevices ( void  )
inlineoverridevirtual

Return a list of supported microcontrollers.

Implements board.

◆ GetUARTRX()

int cboard_Breadboard::GetUARTRX ( const int  uart_num)
overridevirtual

Return the UART N RX pin number.

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ GetUARTTX()

int cboard_Breadboard::GetUARTTX ( const int  uart_num)
overridevirtual

Return the UART N TX pin number.

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MDumpMemory()

int cboard_Breadboard::MDumpMemory ( const char *  fname)
overridevirtual

board microcontroller save non volatile memory to hex file

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MEnd()

void cboard_Breadboard::MEnd ( void  )
overridevirtual

board microcontroller end

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MEraseFlash()

void cboard_Breadboard::MEraseFlash ( void  )
overridevirtual

board microcontroller erase flash memory (program)

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetArchitecture()

int cboard_Breadboard::MGetArchitecture ( void  )
overridevirtual

Return board microcontroller architecture.

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetFreq()

float cboard_Breadboard::MGetFreq ( void  )
overridevirtual

board microcontroller get frequency

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetInstClockFreq()

float cboard_Breadboard::MGetInstClockFreq ( void  )
overridevirtual

board microcontroller get cpu internal clock (in PIC frequency/4)

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetPin()

unsigned char cboard_Breadboard::MGetPin ( int  pin)
overridevirtual

board microcontroller get digital pin value

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetPinCount()

int cboard_Breadboard::MGetPinCount ( void  )
overridevirtual

board microcontroller pin count

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetPinName()

std::string cboard_Breadboard::MGetPinName ( int  pin)
overridevirtual

board microcontroller pin name

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetPinsValues()

const picpin * cboard_Breadboard::MGetPinsValues ( void  )
overridevirtual

board microcontroller get all pins list struct

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MGetVCC()

float cboard_Breadboard::MGetVCC ( void  )
overridevirtual

board microcontroller get vcc

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MInit()

int cboard_Breadboard::MInit ( const char *  processor,
const char *  fname,
float  freq 
)
overridevirtual

board microcontroller init

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MReset()

void cboard_Breadboard::MReset ( int  flags)
overridevirtual

board microcontroller reset

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MSetAPin()

void cboard_Breadboard::MSetAPin ( int  pin,
float  value 
)
overridevirtual

board microcontroller set analog pin

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MSetFreq()

void cboard_Breadboard::MSetFreq ( float  freq)
overridevirtual

board microcontroller set frequency

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MSetPin()

void cboard_Breadboard::MSetPin ( int  pin,
unsigned char  value 
)
overridevirtual

board microcontroller set digital pin

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MSetPinDOV()

void cboard_Breadboard::MSetPinDOV ( int  pin,
unsigned char  ovalue 
)
overridevirtual

board microcontroller set Default Open Value (external pull)

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MSetSerial()

void cboard_Breadboard::MSetSerial ( const char *  port)
overridevirtual

Set serial port name to use.

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MSetVCC()

void cboard_Breadboard::MSetVCC ( float  vcc)
overridevirtual

board microcontroller set vcc

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MStep()

void cboard_Breadboard::MStep ( void  )
overridevirtual

board microcontroller run one step

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ MStepResume()

void cboard_Breadboard::MStepResume ( void  )
overridevirtual

board microcontroller run one or two steps to resume instruction

Reimplemented from bsim_picsim.

Here is the call graph for this function:

◆ ReadPreferences()

void cboard_Breadboard::ReadPreferences ( char *  name,
char *  value 
)
overridevirtual

Called whe configuration file load preferences.

Reimplemented from board.

◆ RefreshStatus()

void cboard_Breadboard::RefreshStatus ( void  )
overridevirtual

Called ever 1s to refresh status.

Reimplemented from board.

Here is the call graph for this function:

◆ Reset()

void cboard_Breadboard::Reset ( void  )
overridevirtual

Reset board status.

Implements board.

Here is the call graph for this function:

◆ Run_CPU()

void cboard_Breadboard::Run_CPU ( void  )
overridevirtual

Paralle thread called ever 100ms to run cpu code.

Implements board.

Here is the call graph for this function:

◆ SetScale()

void cboard_Breadboard::SetScale ( double  scale)
overridevirtual

Set board draw scale.

Reimplemented from board.

Here is the call graph for this function:

◆ WritePreferences()

void cboard_Breadboard::WritePreferences ( void  )
overridevirtual

Called to save board preferences in configuration file.

Reimplemented from board.

Here is the call graph for this function:

The documentation for this class was generated from the following files: