TwiceAsNice  2019-02-18
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PromFx2Io Class Reference

helper class for downloading the fx2 romloader and device firmware into the proms More...

#include <PromFx2Io.h>

Collaboration diagram for PromFx2Io:
Collaboration graph

Public Member Functions

 PromFx2Io (std::shared_ptr< IUsb > &usb, uint32_t MaxBlocks, uint32_t MaxBanks)
 
virtual ~PromFx2Io ()
 
void FirmwareDownload (const std::vector< UsbFrmwr::IntelHexRec > &Records)
 
void WriteFile2Eeprom (const std::string &filename, uint8_t StartBank, uint8_t StartBlock, uint16_t StartAddr, uint32_t &NumBytesWritten)
 
void BufferWriteEeprom (uint8_t StartBank, uint8_t StartBlock, uint16_t StartAddr, const std::vector< uint8_t > &Buffer)
 
void BufferReadEeprom (uint8_t StartBank, uint8_t StartBlock, uint16_t StartAddr, std::vector< uint8_t > &Buffer)
 
void WriteEepromHdr (const Eeprom::Header &hdr, uint8_t StartBank, uint8_t StartBlock, uint16_t StartAddr)
 
void ReadEepromHdr (Eeprom::Header &hdr, uint8_t StartBank, uint8_t StartBlock, uint16_t StartAddr)
 
std::vector< uint8_tReadFirmwareFile (const std::string &filename)
 

Private Member Functions

void IncrEepromAddrBlockBank (uint16_t IncrSize, uint16_t &Addr, uint8_t &Bank, uint8_t &Block)
 
void WriteEeprom (uint16_t Addr, uint8_t Bank, uint8_t Block, const uint8_t *data, uint32_t DataSzInBytes)
 
void ReadEeprom (uint16_t Addr, uint8_t Bank, uint8_t Block, uint8_t *data, uint32_t DataSzInBytes)
 

Private Attributes

std::shared_ptr< IUsbm_Usb
 
uint32_t m_MaxBlocks
 
uint32_t m_MaxBanks
 
std::string m_fileName
 

Detailed Description

helper class for downloading the fx2 romloader and device firmware into the proms

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Copyright(c) 2012 Apogee Imaging Systems, Inc.

Constructor & Destructor Documentation

◆ PromFx2Io()

PromFx2Io::PromFx2Io ( std::shared_ptr< IUsb > &  usb,
uint32_t  MaxBlocks,
uint32_t  MaxBanks 
)

◆ ~PromFx2Io()

PromFx2Io::~PromFx2Io ( )
virtual

Member Function Documentation

◆ BufferReadEeprom()

void PromFx2Io::BufferReadEeprom ( uint8_t  StartBank,
uint8_t  StartBlock,
uint16_t  StartAddr,
std::vector< uint8_t > &  Buffer 
)

◆ BufferWriteEeprom()

void PromFx2Io::BufferWriteEeprom ( uint8_t  StartBank,
uint8_t  StartBlock,
uint16_t  StartAddr,
const std::vector< uint8_t > &  Buffer 
)

◆ FirmwareDownload()

void PromFx2Io::FirmwareDownload ( const std::vector< UsbFrmwr::IntelHexRec > &  Records)

◆ IncrEepromAddrBlockBank()

void PromFx2Io::IncrEepromAddrBlockBank ( uint16_t  IncrSize,
uint16_t Addr,
uint8_t Bank,
uint8_t Block 
)
private

◆ ReadEeprom()

void PromFx2Io::ReadEeprom ( uint16_t  Addr,
uint8_t  Bank,
uint8_t  Block,
uint8_t data,
uint32_t  DataSzInBytes 
)
private

◆ ReadEepromHdr()

void PromFx2Io::ReadEepromHdr ( Eeprom::Header hdr,
uint8_t  StartBank,
uint8_t  StartBlock,
uint16_t  StartAddr 
)

◆ ReadFirmwareFile()

std::vector< uint8_t > PromFx2Io::ReadFirmwareFile ( const std::string &  filename)

◆ WriteEeprom()

void PromFx2Io::WriteEeprom ( uint16_t  Addr,
uint8_t  Bank,
uint8_t  Block,
const uint8_t data,
uint32_t  DataSzInBytes 
)
private

◆ WriteEepromHdr()

void PromFx2Io::WriteEepromHdr ( const Eeprom::Header hdr,
uint8_t  StartBank,
uint8_t  StartBlock,
uint16_t  StartAddr 
)

◆ WriteFile2Eeprom()

void PromFx2Io::WriteFile2Eeprom ( const std::string &  filename,
uint8_t  StartBank,
uint8_t  StartBlock,
uint16_t  StartAddr,
uint32_t NumBytesWritten 
)

Member Data Documentation

◆ m_fileName

std::string PromFx2Io::m_fileName
private

◆ m_MaxBanks

uint32_t PromFx2Io::m_MaxBanks
private

◆ m_MaxBlocks

uint32_t PromFx2Io::m_MaxBlocks
private

◆ m_Usb

std::shared_ptr<IUsb> PromFx2Io::m_Usb
private

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