| BSL430.NET 1.3.4

Namespaces | Classes | Enumerations | Functions
BSL430_NET Namespace Reference

## Classes
class | BSL430NET
| BSL430.NET is cross-platform toolkit to manage memory of MSP430 MCUs via UART (FTDI, libftdi), USB or Serial (COM) port. It is a cheap replacement for stock TI MSP-FET programmer without debug capability. It can Upload, Download, Erase and Scan. More...
class | Bsl430NetDevice
| BSL430.NET Device node serve as a generic device indentificator with field 'Name' as a key. More...
class | Bsl430NetEventArgs
| BSL430.NET Event Args. Progress is double percentage and Report is current action. More...
class | Bsl430NetException
| BSL430.NET Exception is generic Exception extended with Status object. More...
class | Extensions
| Extension class with some helpful methods. More...
interface | IBsl430Net
| Public interface of BSL430.NET library. More...
class | Report
| Report is result of an action block with Name, Result and Timestamp. More...
class | ScanAllResult
| Scan All Result wraps Status and List of Devices - Bsl430NetDevice childs (FTDI, Libftdi, Serial, USB). More...
class | ScanResult
| Scan Result wraps Status and List of Devices - Bsl430NetDevice childs (FTDI / Libftdi / Serial / USB). More...
class | Status
| Status class is an Error Cluster with int, bool and string status with Core and UART messages. More...
class | StatusEx
| StatusEx is Status extended with Report List, returned as a result of main public methods. More...

## Enumerations
enum | Mode : byte { Mode.UART_FTD2XX, Mode.UART_libftdi, Mode.UART_Serial, Mode.USB_HID }
| Main mode which each library instance can operate in, explicitly stated in constructor or derived from device. First word UART/USB declares the target MCU data interface. Please see MCU datasheet for more info. Second word declares the library, which handles communication. This library needs to be present. More...
enum | BaudRate : int { BaudRate.BAUD_9600 = 9600, BaudRate.BAUD_19200 = 19200, BaudRate.BAUD_38400 = 38400, BaudRate.BAUD_57600 = 57600, BaudRate.BAUD_115200 = 115200 }
| Baud rate value. Default is 9600 bps (9600). Setting other than default is supported only by some BSL versions. More...
enum | InvokeMechanism : byte { InvokeMechanism.SHARED_JTAG = 0, InvokeMechanism.DEDICATED_JTAG = 1, InvokeMechanism.MANUAL = 2 }
| Entry sequence on MCU pins which forces the target to start program execution at the BSL RESET vector. Default is SHARED_JTAG (0) - DTR to RST and RTS to TEST pin. More...
enum | MCU : byte { MCU.MSP430_F1xx = 0, MCU.MSP430_F2xx = 1, MCU.MSP430_F4xx = 2, MCU.MSP430_G2xx3 = 3, MCU.MSP430_F5xx = 4, MCU.MSP430_F543x_A = 5, MCU.MSP430_F543x_NON_A = 6, MCU.MSP430_F6xx = 7, MCU.MSP430_FR5xx = 8, MCU.MSP430_FR6xx = 9, MCU.MSP430_FR2x33 = 10, MCU.MSP430_FR231x = 11, MCU.MSP430_FR235x = 12, MCU.MSP430_FR215x = 13, MCU.MSP430_FR413x = 14, MCU.MSP430_FR211x = 15, MCU.MSP432_P401R = 16 }
| MSP430/432 MCU device family. Default is MSP430_F5xx (4). More...
enum | ScanOptions : byte { ScanOptions.None = 0x0, ScanOptions.UsbHid_IgnoreTexasVid = 0x1, ScanOptions.Ftdi_IgnoreUnknownDev = 0x2 }
| [Flags] Scan Options adjust scanner behavior, use it like this: (UsbHid_IgnoreTexasVid | Ftdi_IgnoreUnknownDev) 'UsbHid_IgnoreTexasVid' forces scanner to ignore TI VID(0x2047) and get all USB HID devices present in system. 'Ftdi_IgnoreUnknownDev' forces scanner to ignore "unknown" type devices, that are most likely already connected. More...
enum | BslUartMessage : byte { BslUartMessage.ACK = 0x00, BslUartMessage.HeaderIncorrect = 0x51, BslUartMessage.ChecksumIncorrect = 0x52, BslUartMessage.PacketSizeZero = 0x53, BslUartMessage.PacketSizeOverflow = 0x54, BslUartMessage.UnknownError = 0x55, BslUartMessage.UnknownBaudRate = 0x56, BslUartMessage.NotAvailable = 0xFF }
| BLS UART Message. If there are any errors with the data transmission, an error message is sent back. This message is sent only when 5xx or 6xx protocol version is used. More...
enum | BslCoreMessage : byte { BslCoreMessage.Success = 0x00, BslCoreMessage.FlashWriteCheckFail = 0x01, BslCoreMessage.FlashFailBitSet = 0x02, BslCoreMessage.VoltageChanged = 0x03, BslCoreMessage.BSLLocked = 0x04, BslCoreMessage.BSLPasswordError = 0x05, BslCoreMessage.ByteWriteForbidden = 0x06, BslCoreMessage.UnknownCommand = 0x07, BslCoreMessage.PacketLengthOverflow = 0x08, BslCoreMessage.NotAvailable = 0xFF }
| BSL Core Message is a response to Erase or Download action. (Mass Erase, TX Data Block) This message is sent only when 5xx or 6xx protocol version is used. More...
enum | ReportResult { ReportResult.SUCCESS, ReportResult.SKIPPED, ReportResult.FAILED, ReportResult.PENDING }
| Report result. More...

## Functions
delegate void | Bsl430NetEventHandler (object source, Bsl430NetEventArgs e)
| BSL430.NET Event handler. More...

## Enumeration Type Documentation

## ◆ BaudRate

enum BSL430_NET.BaudRate : int
| strong

Baud rate value. Default is 9600 bps (9600). Setting other than default is supported only by some BSL versions.

Enumerator
BAUD_9600 | 9600 bps
BAUD_19200 | 19200 bps
BAUD_38400 | 38400 bps
BAUD_57600 | 57600 bps
BAUD_115200 | 115200 bps

## ◆ BslCoreMessage

enum BSL430_NET.BslCoreMessage : byte
| strong

BSL Core Message is a response to Erase or Download action. (Mass Erase, TX Data Block) This message is sent only when 5xx or 6xx protocol version is used.

Enumerator
Success | Operation Successful.
FlashWriteCheckFail | Flash Write Check Failed. After programming, a CRC is run on the programmed data. If the CRC does not match the expected result, this error is returned.
FlashFailBitSet | Flash Fail Bit Set. An operation set the FAIL bit in the flash controller (see the MSP430x5xx and MSP430x6xx Family User's Guide for more details on the flash fail bit).
VoltageChanged | Voltage Change During Program. The VPE was set during the requested write operation (see the MSP430x5xx and MSP430x6xx Family User's Guide for more details on the VPE bit).
BSLLocked | BSL Locked. The correct password has not yet been supplied to unlock the BSL.
BSLPasswordError | BSL Password Error. An incorrect password was supplied to the BSL when attempting an unlock.
ByteWriteForbidden | Byte Write Forbidden. This error is returned when a byte write is attempted in a flash area.
UnknownCommand | Unknown Command. The command given to the BSL was not recognized.
PacketLengthOverflow | Packet Length Exceeds Buffer Size. The supplied packet length value is too large to be held in the BSL receive buffer.
NotAvailable | BSL Core Message is not available.

## ◆ BslUartMessage

enum BSL430_NET.BslUartMessage : byte
| strong

BLS UART Message. If there are any errors with the data transmission, an error message is sent back. This message is sent only when 5xx or 6xx protocol version is used.

Enumerator
ACK | ACK - Success.
HeaderIncorrect | Header incorrect. The packet did not begin with the required 0x80 value.
ChecksumIncorrect | Checksum incorrect. The packet did not have the correct checksum value.
PacketSizeZero | Packet size zero. The size for the BSL core command was given as 0.
PacketSizeOverflow | Packet size exceeds buffer. The packet size given is too big for the RX buffer.
UnknownError | Unknown UART error.
UnknownBaudRate | Unknown baud rate. The supplied data for baud rate change is not a known value.
NotAvailable | BSL UART Message is not available.

## ◆ InvokeMechanism

enum BSL430_NET.InvokeMechanism : byte
| strong

Entry sequence on MCU pins which forces the target to start program execution at the BSL RESET vector. Default is SHARED_JTAG (0) - DTR to RST and RTS to TEST pin.

Enumerator
SHARED_JTAG | Only UART mode and MCU with shared JTAG pins. Tie DTR to RST and RTS to TEST pin.
DEDICATED_JTAG | Only UART mode and MCU with dedicated JTAG pins. Tie DTR to RST and RTS to TCK pin.
MANUAL | Only USB mode, where BSL is invoked either of the following conditions are met: The MCU is powered up by USB and the reset vector is blank. The MCU powers up with PUR pin tied to VUSB.

## ◆ MCU

enum BSL430_NET.MCU : byte
| strong

MSP430/432 MCU device family. Default is MSP430_F5xx (4).

Enumerator
MSP430_F1xx | MSP430 F1xx ('1xx, 2xx, 4xx' protocol, 20B password)
MSP430_F2xx | MSP430 F2xx ('1xx, 2xx, 4xx' protocol, 20B password)
MSP430_F4xx | MSP430 F4xx ('1xx, 2xx, 4xx' protocol, 20B password)
MSP430_G2xx3 | MSP430 G2xx3 ('1xx, 2xx, 4xx' protocol, 20B password)
MSP430_F5xx | MSP430 F5xx ('5xx, 6xx' protocol, 32B password)
MSP430_F543x_A | MSP430 F543x [with A] ('5xx, 6xx' protocol, 32B password)
MSP430_F543x_NON_A | MSP430 F543x [non A] ('5xx, 6xx' protocol, 16B password)
MSP430_F6xx | MSP430 F6xx ('5xx, 6xx' protocol, 32B password)
MSP430_FR5xx | MSP430 FR5xx ('5xx, 6xx' protocol, 32B password)
MSP430_FR6xx | MSP430 FR6xx ('5xx, 6xx' protocol, 32B password)
MSP430_FR2x33 | MSP430 FR2x33 ('5xx, 6xx' protocol, 32B password)
MSP430_FR231x | MSP430 FR231x ('5xx, 6xx' protocol, 32B password)
MSP430_FR235x | MSP430 FR235x ('5xx, 6xx' protocol, 32B password)
MSP430_FR215x | MSP430 FR215x ('5xx, 6xx' protocol, 32B password)
MSP430_FR413x | MSP430 FR413x ('5xx, 6xx' protocol, 32B password)
MSP430_FR211x | MSP430 FR211x ('5xx, 6xx' protocol, 32B password)
MSP432_P401R | MSP432 P401R ('5xx, 6xx' protocol, 32B password)

## ◆ Mode

enum BSL430_NET.Mode : byte
| strong

Main mode which each library instance can operate in, explicitly stated in constructor or derived from device. First word UART/USB declares the target MCU data interface. Please see MCU datasheet for more info. Second word declares the library, which handles communication. This library needs to be present.

Enumerator
UART_FTD2XX | UART mode via proprietary FTD2XX library requires ftdibus.sys driver
UART_libftdi | UART mode via opensource libftdi library requires libusb
UART_Serial | UART mode via SerialPortStream library
USB_HID | USB mode via HidSharp and LibUsbDotNet library

## ◆ ReportResult

enum BSL430_NET.ReportResult
| strong

Report result.

Enumerator
SUCCESS | Action headlined by Report Name completed successfully.
SKIPPED | Action headlined by Report Name was skipped.
FAILED | Action headlined by Report Name failed.
PENDING | Action headlined by Report Name is currently in progress.

## ◆ ScanOptions

enum BSL430_NET.ScanOptions : byte
| strong

[Flags] Scan Options adjust scanner behavior, use it like this: (UsbHid_IgnoreTexasVid | Ftdi_IgnoreUnknownDev) 'UsbHid_IgnoreTexasVid' forces scanner to ignore TI VID(0x2047) and get all USB HID devices present in system. 'Ftdi_IgnoreUnknownDev' forces scanner to ignore "unknown" type devices, that are most likely already connected.

Enumerator
None | [Flag] Default value None has zero effect on scanner.
UsbHid_IgnoreTexasVid | [Flag] Forces scanner to ignore TI VID(0x2047) and get all USB HID devices present in system.
Ftdi_IgnoreUnknownDev | [Flag] Forces scanner to ignore "unknown" type devices, that are most likely already connected.

## Function Documentation

## ◆ Bsl430NetEventHandler()

delegate void BSL430_NET.Bsl430NetEventHandler | ( | object | source,
|  | Bsl430NetEventArgs | e
| ) |  |

BSL430.NET Event handler.