📄 programmer.h
字号:
//---------------------------------------------------------------------------
#ifndef ProgrammerH
#define ProgrammerH
#define MAX_FLASHBUF 131072
#define MAX_EEPROMBUF 4096
//---------------------------------------------------------------------------
/*#ifndef CHIP_STRUCT
#define CHIP_STRUCT
typedef struct
{
int flashsize;
bool paged;
int pagesize;
int WD_Flash;
int eepromsize;
int WD_EEPROM;
int signature;
int lockbittype;
int fusebittype;
int calibbytes;
int stk500_dev;
int progtype;
bool hvserial;
int parmode;
int lockbytes;
int fusebytes;
int selftimed;
} TChipInfo;
#endif */
//---------------------------------------------------------------------------
#include <Inifiles.hpp>
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "ParPgm.h"
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include "ihex.h"
#include "srec.h"
#include <Buttons.hpp>
#include "BitBox.h"
#include "stk500.h"
#include "PSSlider.h"
//---------------------------------------------------------------------------
class TPgmDlg : public TForm
{
__published: // Von der IDE verwaltete Komponenten
TOpenDialog *OpenDialog1;
TPageControl *PageControl1;
TTabSheet *TabSheet1;
TTabSheet *TabSheet2;
TProgressBar *Progress;
TButton *UpdSig;
TGroupBox *GroupBox1;
TLabel *Label1;
TLabel *Label2;
TLabel *FlashSize;
TLabel *FlashFileSize;
TButton *ReadFlButton;
TButton *LoadFlButton;
TGroupBox *GroupBox2;
TLabel *Label3;
TLabel *Label4;
TLabel *EESize;
TLabel *EEFileSize;
TButton *ReadEEButton;
TButton *LoadEEButton;
TGroupBox *GroupBox3;
TCheckBox *EraseBox;
TCheckBox *BlankBox;
TCheckBox *ProgFlBox;
TCheckBox *ProgEEBox;
TLabel *Label7;
TLabel *StatusLabel;
TGroupBox *GroupBox4;
TLabel *Signature;
TGroupBox *GroupBox5;
TLabel *Label9;
TLabel *Calib1;
TLabel *Label10;
TLabel *Calib2;
TLabel *Label11;
TLabel *Calib3;
TLabel *Label12;
TLabel *Calib4;
TCheckBox *VerifyFlBox;
TComboBox *ComboBox1;
TButton *EditFlButton;
TButton *EditEEButton;
TTrackBar *TrackBar1;
TLabel *Label5;
TLabel *Label6;
TLabel *Label8;
TLabel *Label13;
TLabel *Label14;
TLabel *Label15;
TLabel *Label16;
TCheckBox *VerifyEEBox;
TRadioGroup *LBLock;
TGroupBox *BLB0Group;
TGroupBox *BLB1Group;
TButton *ReadLockBtn;
TButton *WriteLockBtn;
TButton *SaveFlButton;
TButton *SaveEEButton;
TSaveDialog *SaveDialog1;
TCheckBox *SignBox;
TTabSheet *TabSheet3;
TGroupBox *GroupBox6;
TGroupBox *GroupBox7;
TGroupBox *GroupBox8;
TButton *FuseRead;
TButton *FuseWrite;
TBitBtn *StartButton;
TBitBox *FuseLBit0;
TBitBox *FuseLBit1;
TBitBox *FuseLBit2;
TBitBox *FuseLBit3;
TBitBox *FuseLBit4;
TBitBox *FuseLBit5;
TBitBox *FuseLBit6;
TBitBox *FuseHBit0;
TBitBox *FuseHBit1;
TBitBox *FuseHBit2;
TBitBox *FuseHBit3;
TBitBox *FuseHBit4;
TBitBox *FuseHBit5;
TBitBox *FuseHBit6;
TBitBox *FuseHBit7;
TBitBox *FuseEBit0;
TBitBox *FuseEBit1;
TBitBox *FuseEBit2;
TBitBox *FuseEBit3;
TBitBox *FuseEBit4;
TBitBox *BLB01Box;
TBitBox *BLB02Box;
TBitBox *BLB12Box;
TBitBox *BLB11Box;
TTabSheet *TabSheet4;
TPSSlider *VTargSlider;
TPSSlider *ARefSlider;
TGroupBox *GroupBox9;
TLabel *Label17;
TLabel *Label18;
TBevel *Bevel1;
TBevel *Bevel2;
TLabel *VTargLabel;
TLabel *ARefLabel;
TButton *VoltWrite;
TButton *VoltRead;
TGroupBox *GroupBox10;
TTrackBar *CompBar;
TTrackBar *PreBar;
TLabel *Label19;
TLabel *Label20;
TLabel *Label21;
TLabel *Label22;
TLabel *Label23;
TLabel *Label24;
TBevel *Bevel3;
TLabel *FreqLabel;
TLabel *Label26;
TButton *OscWrite;
TButton *OscRead;
TBitBox *FuseLBit7;
void __fastcall UpdSigClick(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall LoadFlButtonClick(TObject *Sender);
void __fastcall LoadEEButtonClick(TObject *Sender);
void __fastcall ComboBoxKeyPress(TObject *Sender, char &Key);
void __fastcall ReadFlButtonClick(TObject *Sender);
void __fastcall EditFlButtonClick(TObject *Sender);
void __fastcall EditEEButtonClick(TObject *Sender);
void __fastcall StartButtonClick(TObject *Sender);
void __fastcall TrackBar1Change(TObject *Sender);
void __fastcall ReadEEButtonClick(TObject *Sender);
void __fastcall ComboBox1Change(TObject *Sender);
void __fastcall ComboBox2Change(TObject *Sender);
void __fastcall SaveFlButtonClick(TObject *Sender);
void __fastcall SaveEEButtonClick(TObject *Sender);
void __fastcall ReadLockBtnClick(TObject *Sender);
void __fastcall WriteLockBtnClick(TObject *Sender);
void __fastcall ComboBoxKeyUpDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall FuseReadClick(TObject *Sender);
void __fastcall FuseWriteClick(TObject *Sender);
void __fastcall VTargSliderUserChange(TObject *Sender);
void __fastcall ARefSliderUserChange(TObject *Sender);
void __fastcall VTargSliderChange(TObject *Sender);
void __fastcall ARefSliderChange(TObject *Sender);
void __fastcall VoltReadClick(TObject *Sender);
void __fastcall VoltWriteClick(TObject *Sender);
void __fastcall OscBarChange(TObject *Sender);
void __fastcall OscReadClick(TObject *Sender);
void __fastcall OscWriteClick(TObject *Sender);
private:
TParPgm *ParPgm;
TSTK500 *STK500;
TChipInfo chip;
unsigned char *flashbuffer, *eeprombuffer;
int flashbufsize, eeprombufsize;
bool __fastcall StartPGM (void);
void __fastcall StopPGM (void);
bool __fastcall WriteFlashPage (void);
bool __fastcall WriteFlashByte (void);
bool __fastcall ChipErase (void);
bool __fastcall VerifyFlash (void);
bool __fastcall BlankCheck (void);
bool __fastcall WriteEEProm (void);
bool __fastcall VerifyEEProm (void);
void __fastcall ErrorMessage (AnsiString Error);
int __fastcall LoadFileToBuffer (AnsiString filename, unsigned char *buf,
int maxsize);
int __fastcall BSizeToWSize (int size);
void __fastcall ChangeDevice (void);
void __fastcall ChangeProgrammer (void);
void __fastcall SaveBufferToFile (AnsiString filename, unsigned char *buf,
int size);
void __fastcall SetProgPort (void);
void __fastcall WriteLHFuseBits (void);
void __fastcall SetLFuseBoxes (unsigned char b);
void __fastcall SetHFuseBoxes (unsigned char b);
void __fastcall SetEFuseBoxes (unsigned char b);
unsigned char __fastcall GetLFuseBoxes (void);
unsigned char __fastcall GetHFuseBoxes (void);
unsigned char __fastcall GetEFuseBoxes (void);
void __fastcall DisableUIF (bool disable);
TMemoryStream *memstream;
TSRecord *srec;
TIHex *ihex;
int ProgrammerType, OscillatorFreq;
void __fastcall DelayMS (int ms);
bool ChangedManually;
public: // Anwender-Deklarationen
__fastcall TPgmDlg(TComponent* Owner);
__fastcall ~TPgmDlg(void);
void __fastcall ShowWindow (AnsiString mcu);
void __fastcall SaveSettings (TIniFile *prj);
void __fastcall LoadSettings (TIniFile *prj);
void __fastcall ResetMCU (void);
};
//---------------------------------------------------------------------------
extern PACKAGE TPgmDlg *PgmDlg;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -