Code Monkey home page Code Monkey logo

esptape's Introduction

An ESPHome based Home Assistant integration for controlling a Sony TC-WE675 Tape deck over its A1 Control serial port.

Would probably work on other Sony A1 tape decks, and could likely be expanded to support other Sony A1 audio equipment.

sony-tcwe675

card_shot

Repository Structure

  • /esphome - esphome YAML code
  • /homeassistant - sample HACS/media_player_template entity and lovelace cards
  • /util - code timing conversion utilities
  • /pcb - EagleCAD files for hardware build
  • /enclosure - OpenSCAD and STL files for 3D printing enclosure

Protocol

Protocol based in part on the A1/S-Link reverse engineering work of:

http://cegt201.bradley.edu/projects/proj2001/sonyntwk/SLink.PDF

and:

http://web.archive.org/web/20040722145551/http://www.undeadscientist.com/slink/encoding.html

I created a PulseView / Sigrok logic analyizer plugin to aid in the discovery of device specific codes:

https://github.com/andrewmv/sony-a1-sigrok-pd

Status Codes

Reported from the device and interpreted by ESPHome

Address Code Meaning Notes
0xAC 0x00 Tape B Play No indication of direction is provided
0xAC 0x01 Tape B Stop
0xAC 0x02 Tape B Pause
0xAC 0x04 Tape B Record Recording started
0xAC 0x05 Tape B Eject
0xAC 0x06 Tape B Autoreverse Valid only from Play. Playback has reached end of side, but will continue on other side or deck. Always followed by a Stop, then a Play from the appropriate deck
0xAC 0x07 Tape B Cue
0xAC 0x08 Tape B Insert
0xAC 0x0a End of Tape B End of side reached, no followup playback will happen. Valid from Play, RR, FF, or AMS.
0xAC 0x40 Tape A Play No indication of direction is provided
0xAC 0x41 Tape A Stop
0xAC 0x42 Tape A Pause
0xAC 0x44 Tape A Record Recording started
0xAC 0x45 Tape A Eject
0xAC 0x46 Tape A Autoreverse Valid only from Play. Playback has reached end of side, but will continue on other side or deck. Always followed by a Stop, then a Play from the appropriate deck
0xAC 0x47 Tape A Cue Recording cued, play not yet pressed
0xAC 0x48 Tape A Insert
0xAC 0x4a End of Tape A End of side reached, no followup playback will happen. Valid from Play, RR, FF, or AMS.

Command codes

Sent to and interpreted by the device

Address Command Result
0xA4 0x00 Deck B Play (Current Direction)
0xA4 0x01 Deck B Stop
0xA4 0x02 Deck B Pause (Fixed)
0xA4 0x03 Deck B Pause (Toggle)
0xA4 0x04 Deck B Rec (Current Direction)
0xA4 0x07 Deck B Rec Cue (Direction Selectable with subsequent Play)
0xA4 0x0A Deck B FF (While Stopped – Forward) / AMS (While Playing – Current Direction)
0xA4 0x0B Deck B RR (While Stopped – Reverse) / AMS (While Playing – Current Direction)
0xA4 0x0C Deck B Play Forward
0xA4 0x0D Deck B Play Backward
0xA4 0x40 Deck A Play (Current Direction)
0xA4 0x41 Deck A Stop
0xA4 0x42 Deck A Pause (Fixed)
0xA4 0x43 Deck A Pause (Toggle)
0xA4 0x44 Deck A Rec (Current Direction)
0xA4 0x47 Deck A Rec Cue
0xA4 0x4A Deck A FF (While Stopped – Forward) / AMS (While Playing – Current Direction)
0xA4 0x4B Deck A RR (While Stopped – Rewind) / AMS (While Playing – Current Direction)
0xA4 0x4C Deck A Play Forward
0xA4 0x4D Deck A Play Backward

esptape's People

Contributors

andrewmv avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.