Skip to content

Commit

Permalink
chg: Add board method MGetClocksPerInstructions. !minor
Browse files Browse the repository at this point in the history
  • Loading branch information
lcgamboa committed Apr 15, 2024
1 parent be15998 commit 6003cfa
Show file tree
Hide file tree
Showing 11 changed files with 88 additions and 135 deletions.
4 changes: 4 additions & 0 deletions src/lib/board.cc
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,10 @@ output_t* board::GetOutput(int n) {
return NULL;
}

int board::MGetClocksPerInstructions(void) {
return MGetFreq() / MGetInstClockFreq();
}

unsigned char board::CalcAngle(int in, int x, int y) {
int dx = input[in].cx - x;
int dy = y - input[in].cy;
Expand Down
25 changes: 15 additions & 10 deletions src/lib/board.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ class board {
/**
* @brief Event on the board
*/
virtual void EvMouseMove(unsigned int button, unsigned int x, unsigned int y, unsigned int state){};
virtual void EvMouseMove(unsigned int button, unsigned int x, unsigned int y, unsigned int state) {};

/**
* @brief Event on the board
Expand All @@ -173,7 +173,7 @@ class board {
/**
* @brief Event on the board
*/
virtual void EvThreadRun(void){};
virtual void EvThreadRun(void) {};

/**
* @brief Called ever 1s to refresh status
Expand All @@ -183,12 +183,12 @@ class board {
/**
* @brief Called to save board preferences in configuration file
*/
virtual void WritePreferences(void){};
virtual void WritePreferences(void) {};

/**
* @brief Called whe configuration file load preferences
*/
virtual void ReadPreferences(char* name, char* value){};
virtual void ReadPreferences(char* name, char* value) {};

/**
* @brief return the input ids numbers of names used in input map
Expand All @@ -203,13 +203,13 @@ class board {
/**
* @brief Called when window side controls are activated
*/
virtual void board_Event(const char* controlname){};
virtual void board_Event(const char* controlname) {};

/**
* @brief 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){};
unsigned int state) {};

/**
* @brief Called once on board creation
Expand Down Expand Up @@ -324,7 +324,7 @@ class board {
/**
* @brief board servers shutdown
*/
virtual void EndServers(void){};
virtual void EndServers(void) {};

/**
* @brief board microcontroller save non volatile memory to hex file
Expand Down Expand Up @@ -361,6 +361,11 @@ class board {
*/
virtual float MGetInstClockFreq(void) = 0;

/**
* @brief board microcontroller get Clock pulses per instruction (in PIC equal to 4)
*/
int MGetClocksPerInstructions(void);

/**
* @brief board microcontroller pin count
*/
Expand Down Expand Up @@ -619,12 +624,12 @@ class board {
/**
* @brief Lock IO to others threads access
*/
virtual void IoLockAccess(void){};
virtual void IoLockAccess(void) {};

/**
* @brief Unlock IO to others threads access
*/
virtual void IoUnlockAccess(void){};
virtual void IoUnlockAccess(void) {};

/**
* @brief Return the UART N RX pin number
Expand All @@ -645,7 +650,7 @@ class board {
/**
* @brief Register remote control variables
*/
virtual void RegisterRemoteControl(void){};
virtual void RegisterRemoteControl(void) {};

/**
* @brief Increment the Intructions Counter
Expand Down
27 changes: 9 additions & 18 deletions src/parts/other_IO_74xx573.cc
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ void cpart_IO_74xx573::ReadPropertiesWindow(void) {
void cpart_IO_74xx573::PreProcess(void) {
memset(output_pins_alm, 0, 8 * sizeof(unsigned long));

JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS();
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS() * 4.0 / PICSimLab.GetBoard()->MGetClocksPerInstructions();
mcount = JUMPSTEPS_;
}

Expand Down Expand Up @@ -360,24 +360,15 @@ void cpart_IO_74xx573::Process(void) {

void cpart_IO_74xx573::PostProcess(void) {
long int NSTEPJ = PICSimLab.GetNSTEPJ();
const picpin* ppins = SpareParts.GetPinsValues();

SpareParts.WritePinOA(output_pins[0],
(ppins[output_pins[0] - 1].oavalue + ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[1],
(ppins[output_pins[1] - 1].oavalue + ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[2],
(ppins[output_pins[2] - 1].oavalue + ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[3],
(ppins[output_pins[3] - 1].oavalue + ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[4],
(ppins[output_pins[4] - 1].oavalue + ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[5],
(ppins[output_pins[5] - 1].oavalue + ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[6],
(ppins[output_pins[6] - 1].oavalue + ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[7],
(ppins[output_pins[7] - 1].oavalue + ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[0], ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[1], ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[2], ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[3], ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[4], ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[5], ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[6], ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[7], ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55);
}

part_init(PART_IO_74XX573_Name, cpart_IO_74xx573, "Other");
30 changes: 10 additions & 20 deletions src/parts/other_IO_74xx595.cc
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ void cpart_IO_74xx595::ReadPropertiesWindow(void) {
void cpart_IO_74xx595::PreProcess(void) {
memset(output_pins_alm, 0, 9 * sizeof(unsigned long));

JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS();
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS() * 4.0 / PICSimLab.GetBoard()->MGetClocksPerInstructions();
mcount = JUMPSTEPS_;
}

Expand Down Expand Up @@ -319,26 +319,16 @@ void cpart_IO_74xx595::Process(void) {

void cpart_IO_74xx595::PostProcess(void) {
long int NSTEPJ = PICSimLab.GetNSTEPJ();
const picpin* ppins = SpareParts.GetPinsValues();

SpareParts.WritePinOA(output_pins[0],
(ppins[output_pins[0] - 1].oavalue + ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[1],
(ppins[output_pins[1] - 1].oavalue + ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[2],
(ppins[output_pins[2] - 1].oavalue + ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[3],
(ppins[output_pins[3] - 1].oavalue + ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[4],
(ppins[output_pins[4] - 1].oavalue + ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[5],
(ppins[output_pins[5] - 1].oavalue + ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[6],
(ppins[output_pins[6] - 1].oavalue + ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[7],
(ppins[output_pins[7] - 1].oavalue + ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[8],
(ppins[output_pins[8] - 1].oavalue + ((output_pins_alm[8] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[0], ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[1], ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[2], ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[3], ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[4], ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[5], ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[6], ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[7], ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[8], ((output_pins_alm[8] * 200.0) / NSTEPJ) + 55);
}

part_init(PART_IO_74XX595_Name, cpart_IO_74xx595, "Other");
51 changes: 17 additions & 34 deletions src/parts/other_IO_MCP23S17.cc
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ void cpart_IO_MCP23S17::ReadPropertiesWindow(void) {

void cpart_IO_MCP23S17::PreProcess(void) {
memset(output_pins_alm, 0, 16 * sizeof(unsigned long));
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS();
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS() * 4.0 / PICSimLab.GetBoard()->MGetClocksPerInstructions();
mcount = JUMPSTEPS_;
}

Expand Down Expand Up @@ -460,40 +460,23 @@ void cpart_IO_MCP23S17::Process(void) {

void cpart_IO_MCP23S17::PostProcess(void) {
long int NSTEPJ = PICSimLab.GetNSTEPJ();
const picpin* ppins = SpareParts.GetPinsValues();

SpareParts.WritePinOA(output_pins[0],
(ppins[output_pins[0] - 1].oavalue + ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[1],
(ppins[output_pins[1] - 1].oavalue + ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[2],
(ppins[output_pins[2] - 1].oavalue + ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[3],
(ppins[output_pins[3] - 1].oavalue + ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[4],
(ppins[output_pins[4] - 1].oavalue + ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[5],
(ppins[output_pins[5] - 1].oavalue + ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[6],
(ppins[output_pins[6] - 1].oavalue + ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[7],
(ppins[output_pins[7] - 1].oavalue + ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[8],
(ppins[output_pins[8] - 1].oavalue + ((output_pins_alm[8] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[9],
(ppins[output_pins[9] - 1].oavalue + ((output_pins_alm[9] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[10],
(ppins[output_pins[10] - 1].oavalue + ((output_pins_alm[10] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[11],
(ppins[output_pins[11] - 1].oavalue + ((output_pins_alm[11] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[12],
(ppins[output_pins[12] - 1].oavalue + ((output_pins_alm[12] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[13],
(ppins[output_pins[13] - 1].oavalue + ((output_pins_alm[13] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[14],
(ppins[output_pins[14] - 1].oavalue + ((output_pins_alm[14] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[15],
(ppins[output_pins[15] - 1].oavalue + ((output_pins_alm[15] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[0], ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[1], ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[2], ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[3], ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[4], ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[5], ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[6], ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[7], ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[8], ((output_pins_alm[8] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[9], ((output_pins_alm[9] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[10], ((output_pins_alm[10] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[11], ((output_pins_alm[11] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[12], ((output_pins_alm[12] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[13], ((output_pins_alm[13] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[14], ((output_pins_alm[14] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[15], ((output_pins_alm[15] * 200.0) / NSTEPJ) + 55);
}

part_init(PART_IO_MCP23S17_Name, cpart_IO_MCP23S17, "Other");
27 changes: 9 additions & 18 deletions src/parts/other_IO_MM74C922.cc
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ void cpart_IO_MM74C922::ReadPropertiesWindow(void) {
void cpart_IO_MM74C922::PreProcess(void) {
memset(pins_alm, 0, 8 * sizeof(unsigned long));

JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS();
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS() * 4.0 / PICSimLab.GetBoard()->MGetClocksPerInstructions();
mcount = JUMPSTEPS_;

io_MM74C922_set_clk_freq(&kc, pboard->MGetInstClockFreq());
Expand Down Expand Up @@ -384,24 +384,15 @@ void cpart_IO_MM74C922::Process(void) {

void cpart_IO_MM74C922::PostProcess(void) {
long int NSTEPJ = PICSimLab.GetNSTEPJ();
const picpin* ppins = SpareParts.GetPinsValues();

SpareParts.WritePinOA(output_pins[0],
(ppins[output_pins[0] - 1].oavalue + ((pins_alm[0] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[1],
(ppins[output_pins[1] - 1].oavalue + ((pins_alm[1] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[2],
(ppins[output_pins[2] - 1].oavalue + ((pins_alm[2] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[3],
(ppins[output_pins[3] - 1].oavalue + ((pins_alm[3] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(input_pins[0],
(ppins[input_pins[0] - 1].oavalue + ((pins_alm[4] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(input_pins[1],
(ppins[input_pins[1] - 1].oavalue + ((pins_alm[5] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(input_pins[2],
(ppins[input_pins[2] - 1].oavalue + ((pins_alm[6] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(input_pins[3],
(ppins[input_pins[3] - 1].oavalue + ((pins_alm[7] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[0], ((pins_alm[0] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[1], ((pins_alm[1] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[2], ((pins_alm[2] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[3], ((pins_alm[3] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(input_pins[0], ((pins_alm[4] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(input_pins[1], ((pins_alm[5] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(input_pins[2], ((pins_alm[6] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(input_pins[3], ((pins_alm[7] * 200.0) / NSTEPJ) + 55);
}

part_init(PART_IO_MM74C922_Name, cpart_IO_MM74C922, "Other");
30 changes: 10 additions & 20 deletions src/parts/other_IO_PCF8574.cc
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ void cpart_IO_PCF8574::PreProcess(void) {

memset(output_pins_alm, 0, 9 * sizeof(unsigned long));

JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS();
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS() * 4.0 / PICSimLab.GetBoard()->MGetClocksPerInstructions();
mcount = JUMPSTEPS_;

if (input_pins[2]) {
Expand Down Expand Up @@ -363,26 +363,16 @@ void cpart_IO_PCF8574::Process(void) {

void cpart_IO_PCF8574::PostProcess(void) {
long int NSTEPJ = PICSimLab.GetNSTEPJ();
const picpin* ppins = SpareParts.GetPinsValues();

SpareParts.WritePinOA(output_pins[0],
(ppins[output_pins[0] - 1].oavalue + ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[1],
(ppins[output_pins[1] - 1].oavalue + ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[2],
(ppins[output_pins[2] - 1].oavalue + ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[3],
(ppins[output_pins[3] - 1].oavalue + ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[4],
(ppins[output_pins[4] - 1].oavalue + ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[5],
(ppins[output_pins[5] - 1].oavalue + ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[6],
(ppins[output_pins[6] - 1].oavalue + ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[7],
(ppins[output_pins[7] - 1].oavalue + ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[8],
(ppins[output_pins[8] - 1].oavalue + ((output_pins_alm[8] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[0], ((output_pins_alm[0] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[1], ((output_pins_alm[1] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[2], ((output_pins_alm[2] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[3], ((output_pins_alm[3] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[4], ((output_pins_alm[4] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[5], ((output_pins_alm[5] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[6], ((output_pins_alm[6] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[7], ((output_pins_alm[7] * 200.0) / NSTEPJ) + 55);
SpareParts.WritePinOA(output_pins[8], ((output_pins_alm[8] * 200.0) / NSTEPJ) + 55);
}

part_init(PART_IO_PCF8574_Name, cpart_IO_PCF8574, "Other");
5 changes: 2 additions & 3 deletions src/parts/other_jumpers.cc
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,7 @@ void cpart_Jumpers::ReadPropertiesWindow(void) {

void cpart_Jumpers::PreProcess(void) {
memset(output_pins_alm, 0, 16 * sizeof(unsigned long));
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS();
JUMPSTEPS_ = PICSimLab.GetJUMPSTEPS() * 4.0 / PICSimLab.GetBoard()->MGetClocksPerInstructions();
mcount = JUMPSTEPS_;
}

Expand Down Expand Up @@ -557,8 +557,7 @@ void cpart_Jumpers::PostProcess(void) {
const picpin* ppins = SpareParts.GetPinsValues();

for (int i = 0; i < 16; i++) {
SpareParts.WritePinOA(output_pins[i],
(ppins[output_pins[i] - 1].oavalue + ((output_pins_alm[i] * 200.0) / NSTEPJ) + 55) / 2);
SpareParts.WritePinOA(output_pins[i], ((output_pins_alm[i] * 200.0) / NSTEPJ) + 55);

if (output_pins[i] && (output_ids[O_L1 + i]->value != ppins[output_pins[i] - 1].oavalue)) {
output_ids[O_L1 + i]->value = ppins[output_pins[i] - 1].oavalue;
Expand Down
Loading

0 comments on commit 6003cfa

Please sign in to comment.