40 void UpdateAll(
const int force = 0);
41 int GetCount(
void) {
return partsc; };
42 part* GetPart(
const int partn);
43 void DeleteParts(
void);
44 void ResetPullupBus(
unsigned char pin);
45 void SetPullupBus(
unsigned char pin,
unsigned char value);
46 unsigned char GetPullupBus(
unsigned char pin);
73 const picpin* GetPinsValues(
void);
74 void SetPin(
unsigned char pin,
unsigned char value);
75 void SetAPin(
unsigned char pin,
float value);
76 void SetPinDOV(
unsigned char pin,
unsigned char ovalue);
77 void SetPinDir(
unsigned char pin,
unsigned char dir);
78 void WritePin(
unsigned char pin,
unsigned char value);
79 void WritePinA(
unsigned char pin,
unsigned char avalue);
80 void WritePinOA(
unsigned char pin,
unsigned short oavalue);
81 unsigned char RegisterIOpin(std::string pname,
unsigned char pin = 0,
unsigned char dir = PD_OUT);
82 unsigned char UnregisterIOpin(
unsigned char pin);
83 part* AddPart(
const char* partname,
const int x,
const int y,
const float scale);
84 void DeletePart(
const int partn);
85 void SetUseAlias(
const int use) { useAlias = use; };
86 unsigned char GetUseAlias(
void) {
return useAlias; };
87 bool SavePinAlias(std::string fname);
88 bool LoadPinAlias(std::string fname,
unsigned char show_error_msg = 0);
89 bool LoadConfig(std::string fname,
const int disable_debug = 0);
90 void ClearPinAlias(
void);
91 std::string GetAliasFname(
void) {
return alias_fname; };
92 float GetScale(
void) {
return scale; };
93 void SetScale(
float s) { scale = s; };
96 void SetBGColor(std::string bgc) { bgcolor = bgc; };
97 std::string GetBGColor(
void) {
return bgcolor; };
99 void Setfdtype(
int value);
101 int Getfdtype(
void) {
return fdtype; };
103 void ReadPreferences(
char* name,
char* value);
104 void WritePreferences(
void);
106 bool SaveConfig(std::string fname);
108 std::string GetLoadConfigFile(
void) {
return LoadConfigFile; };
110 void SetfdOldFilename(
const std::string ofn);
112 std::string GetOldFilename(
void) {
return oldfname; };
114 void SetPartOnDraw(
int pod) { PartOnDraw = pod; };
115 int GetPartOnDraw(
void) {
return PartOnDraw; };
119 static int WPropCmd(
const char* ControlName,
const PICSimLabWindowAction action,
const char* Value,
120 void* ReturnBuff = NULL);
122 static int WindowCmd(
const int id,
const char* ControlName,
const PICSimLabWindowAction action,
const char* Value,
123 void* ReturnBuff = NULL);
127 int (*OnWindowCmd)(
const int id,
const char* ControlName,
const PICSimLabWindowAction action,
const char* Value,
133 std::string PinNames[MAX_PIN_COUNT];
134 std::string PinAlias[MAX_PIN_COUNT];
135 std::string alias_fname;
136 std::string LoadConfigFile;
138 unsigned char PinsCount;
139 unsigned char useAlias;
140 std::atomic<int> partsc;
141 part* parts[MAX_PARTS];
143 part* parts_aup[MAX_PARTS];
144 unsigned char pullup_bus[IOINIT];
145 int pullup_bus_count;
146 unsigned char pullup_bus_ptr[IOINIT];
148 std::string oldfname;