{"id":13339672,"url":"https://gitlab.com/defcronyke/dds-wave-upload","last_synced_at":"2025-03-11T14:32:13.778Z","repository":{"id":61236571,"uuid":"20299056","full_name":"defcronyke/dds-wave-upload","owner":"defcronyke","description":"Upload Arbitrary Waveforms to the GH-CJDS66 60MHz Signal Generator from Linux (proof-of-concept). For a better full-control program that's cross-platform, see: https://gitlab.com/defcronyke/signal-gen-cjds66","archived":false,"fork":false,"pushed_at":null,"size":null,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":null,"default_branch":"master","last_synced_at":"2024-10-24T02:32:28.473Z","etag":null,"topics":["60MHz","CH340","CH341","GH-CJDS66","GH-CJDS66 60MHz","arbitrary waveform","linux","script","serial","serial usb","shell script","signal generator","ttyUSB","ttyUSB0","unix","upload","upload waveform","usb","user defined waveform","write","write waveform"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://gitlab.com/uploads/-/system/project/avatar/20299056/dds-wave-upload-s.jpg","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-02T20:28:14.424Z","updated_at":"2020-08-03T12:22:42.995Z","dependencies_parsed_at":"2022-10-13T09:46:27.389Z","dependency_job_id":null,"html_url":"https://gitlab.com/defcronyke/dds-wave-upload","commit_stats":null,"previous_names":[],"tags_count":3,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/defcronyke%2Fdds-wave-upload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/defcronyke%2Fdds-wave-upload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/defcronyke%2Fdds-wave-upload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories/defcronyke%2Fdds-wave-upload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners/defcronyke","download_url":"https://gitlab.com/defcronyke/dds-wave-upload/-/archive/master/dds-wave-upload-master.zip","host":{"name":"gitlab.com","url":"https://gitlab.com","kind":"gitlab","repositories_count":4518025,"owners_count":6814,"icon_url":"https://github.com/gitlab.png","version":null,"created_at":"2022-05-30T11:31:42.605Z","updated_at":"2024-07-18T11:24:13.055Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/gitlab.com/owners"}},"keywords":["60MHz","CH340","CH341","GH-CJDS66","GH-CJDS66 60MHz","arbitrary waveform","linux","script","serial","serial usb","shell script","signal generator","ttyUSB","ttyUSB0","unix","upload","upload waveform","usb","user defined waveform","write","write waveform"],"created_at":"2024-07-29T19:21:08.134Z","updated_at":"2025-03-11T14:32:13.388Z","avatar_url":"https://gitlab.com/uploads/-/system/project/avatar/20299056/dds-wave-upload-s.jpg","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Upload Arbitrary Waveforms to GH-CJDS66 60MHz  \n---------------------------------------------  \n  \nCopyright 2020 Jeremy Carter \u003cjeremy@jeremycarter.ca\u003e  \n  \nUsage: ./dds-wave-upload.sh /dev/ttyUSB0 flat.txt 1  \n  \nThe first argument is the target device to upload to.  \n  \nThe second argument is the waveform file. It should be 2048 lines long, each line containing a number from 0 - 4096, specifying the amplitude of the waveform.  \n  \nThe third argument is the preset you want to save the waveform in on the device. It must be a number from 1 - 15.  \n  \nPurpose:  \n-------  \n  Upload a user-defined arbitrary waveform\n  to the GH-CJDS66 60MHz Koolertron DDS Signal \n  Generator/Counter.  \n  \nUSB Interface:  \n-------------  \n  ID 1a86:7523 QinHeng Electronics CH340 serial converter  \n  \nHow To:  \n------  \n  Design a waveform in the range of\n  0 - 4096, made from 2048 points.  \n  \n  Save it in a text file with each\n  point on its own line.  \n  \n  Run this script to upload it to the signal \n  generator, passing the waveform file as\n  the second argument, and the preset to\n  save it in as the third argument.  \n  \n  \nTutorial - Design a Wave:  \n------------------------  \n1. Download Waveform Manager Plus (this has been tested with v4.13):  \n     https://www.aimtti.com/resources/waveform-manager-plus-v413  \n  \n2. Unzip it and install it with wine (it's Windows-only but works well in wine):  \n     wine start waveman.msi  \n  \n3. Run the program with wine:  \n     cd ~/\".wine/drive_c/Program Files (x86)/Waveman\"  \n     wine waveman.exe  \n  \n4. Design a new waveform of amplitude 4096 and length 2048, and save it \n   as format \"WaveCAD *.wav\".  \n  \n5. Use the wav2txt.sh script in this project to convert the wav file to the \n   proper txt format:  \n     ./wav2txt.sh testwave1.wav \u003e testwave1.txt  \n  \n6. Now you can use the dds-wave-upload.sh script to upload your waveform\n   to the device:  \n     ./dds-wave-upload.sh /dev/ttyUSB0 testwave1.txt 1  \n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fdefcronyke%2Fdds-wave-upload","html_url":"https://awesome.ecosyste.ms/projects/gitlab.com%2Fdefcronyke%2Fdds-wave-upload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/gitlab.com%2Fdefcronyke%2Fdds-wave-upload/lists"}