Skip to content

Embedded (Rust) driver for the AD9850 DDS synthesizer chip

License

Notifications You must be signed in to change notification settings

nilclass/ad9850-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ad9850 - Embedded driver for the AD9850 DDS synthesizer chip

Crates.io LICENSE-MIT

The AD9850 is a DDS Synthesizer chip sold by Analog Devices. Check the datasheet for general information about it.

This Rust crate implements an interface for embedded devices to control such an AD9850 chip.

Supported features

  • Reset the device
  • Program in Serial mode
  • Program in Parallel mode
  • Power down / wakeup

Usage example

This example uses the arduino-hal. The ad9850 library is not device specific though, so it should be easy to adapt the example to other devices. The only requirement is that the device's pins have an implementation of the OutputPin trait from embedded_hal.

#[arduino_hal::entry]
fn main() -> ! {
    let dp = arduino_hal::Peripherals::take().unwrap();
    let pins = arduino_hal::pins!(dp);

    // Initialize the device
    let ad9850 = ad9850::Ad9850::new(
        pins.d4.into_output(), // Connect D4 (Arduino) to RESET (AD9850)
        pins.d5.into_output(), // Connect D5 (Arduino) to DATA (AD9850)
        pins.d6.into_output(), // Connect D6 (Arduino) to FQ_UD (AD9850)
        pins.d7.into_output(), // Connect D7 (Arduino) to W_CLK (AD9850)
    ).into_serial_mode().unwrap();
    //                   ^^^^ unwrap is ok here, since `set_low`/`set_high`
    //                        are infallible in the arduino-hal.

    // Set the output frequency to 1 MHz
    ad9850.set_frequency(1000000.0);
}

Documentation

For further information, please refer to the generated documentation at https://docs.rs/ad9850/latest/ad9850/

Contribution

Contributions are welcome!

For feature requests, issues or anything else, please open an issue on github.

About

Embedded (Rust) driver for the AD9850 DDS synthesizer chip

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published