Interface: tos.chips.msp430.dma.Msp430DmaChannel

interface Msp430DmaChannel

Author:
Ben Greenstein <ben@cs.ucla.edu>
Jonathan Hui <jhui@archrock.com>
Mark Hays $Revision: 1.5 $ $Date: 2007/11/08 21:34:42 $

Commands
command error_t repeatTransfer(void *src_addr, void *dst_addr, uint16_t size) Repeat a DMA transfer using previous settings but new pointers and transfer size.
command error_t setupTransfer(dma_transfer_mode_t transfer_mode, dma_trigger_t trigger, dma_level_t level, void *src_addr, void *dst_addr, uint16_t size, dma_byte_t src_byte, dma_byte_t dst_byte, dma_incr_t src_incr, dma_incr_t dst_incr) Setup a transfer using explicit argument (most robust and simple mechanism and recommended for novice users) See MSP430DMA.h for parameter options
command void setupTransferRaw(uint16_t state, uint16_t trigger, void *src, void *dest, int size) Raw interface for setting up a DMA transfer.
command error_t softwareTrigger() Trigger a DMA transfer using software
command error_t startTransfer() Enable the DMA module.
command error_t stopTransfer() Stop a DMA transfer in progress

Events
event void transferDone(error_t success) Notification that the transfer has completed

Commands - Details

repeatTransfer

command error_t repeatTransfer(void *src_addr, void *dst_addr, uint16_t size)

Repeat a DMA transfer using previous settings but new pointers and transfer size. Automatically starts the transfer (sets the enable bit).

setupTransfer

command error_t setupTransfer(dma_transfer_mode_t transfer_mode, dma_trigger_t trigger, dma_level_t level, void *src_addr, void *dst_addr, uint16_t size, dma_byte_t src_byte, dma_byte_t dst_byte, dma_incr_t src_incr, dma_incr_t dst_incr)

Setup a transfer using explicit argument (most robust and simple mechanism and recommended for novice users) See MSP430DMA.h for parameter options

setupTransferRaw

command void setupTransferRaw(uint16_t state, uint16_t trigger, void *src, void *dest, int size)

Raw interface for setting up a DMA transfer. This function is intended to provide as much raw performance as possible but sacrifices type checking in the process. Recommended ONLY for advanced users that have very intricate knowledge of the MSP430 DMA module described in the user's guide.

Parameters:
state - The control register value, as specified by dma_control_state_t in MSP430DMA.h
trigger - The trigger for the DMA transfer. Should be one of the options from dma_trigger_t in MSP430DMA.h
src - Pointer to the source address
dest - Pointer to the destination address
size - Size of the DMA transfer See MSP430DMA.h for parameter options

softwareTrigger

command error_t softwareTrigger()

Trigger a DMA transfer using software

startTransfer

command error_t startTransfer()

Enable the DMA module. Equivalent to setting the DMA enable bit. This function does not force a transfer.

stopTransfer

command error_t stopTransfer()

Stop a DMA transfer in progress

Events - Details

transferDone

event void transferDone(error_t success)

Notification that the transfer has completed