{"id":17142310,"url":"https://github.com/johnrm174/layout-signalling-scheme","last_synced_at":"2025-03-24T09:11:57.978Z","repository":{"id":138291550,"uuid":"374339327","full_name":"johnrm174/layout-signalling-scheme","owner":"johnrm174","description":"This repository is now DEPRECATED - replaced by https://github.com/johnrm174/model-railway-signalling","archived":false,"fork":false,"pushed_at":"2025-02-17T08:50:07.000Z","size":42,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T09:35:07.379Z","etag":null,"topics":["dcc","model","pi","pyhhon","railway","signalling"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnrm174.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-06T11:11:23.000Z","updated_at":"2025-02-17T08:50:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"260f5e9e-b02a-4536-8ebf-9d54613fe0f4","html_url":"https://github.com/johnrm174/layout-signalling-scheme","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnrm174%2Flayout-signalling-scheme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnrm174%2Flayout-signalling-scheme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnrm174%2Flayout-signalling-scheme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnrm174%2Flayout-signalling-scheme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnrm174","download_url":"https://codeload.github.com/johnrm174/layout-signalling-scheme/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245240925,"owners_count":20583102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dcc","model","pi","pyhhon","railway","signalling"],"created_at":"2024-10-14T20:30:29.643Z","updated_at":"2025-03-24T09:11:57.969Z","avatar_url":"https://github.com/johnrm174.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# layout-signalling-scheme\n**This repository is now DEPRECATED - replaced by https://github.com/johnrm174/model-railway-signalling**\n\nA model railway signalling system for my layout written in Python for the Raspberry Pi with a DCC control of signals and points \nvia the Pi-SPROG-3 DCC Command station and train detection via the GPIO ports on the Pi.\n\nThis has been created to provide a representation of my layout, complete with points, signals and \"track occupancy\" sections\nThe DCC interface drives a DCC Accessory Bus bus to provide digital control of all signals and points out on the layout. \nThe GPIO interface allows external train detectors such as the BlockSignalling BOD2-NS to be connected in via opto-isolators.\n\nAll of the functions for creating and managing 'signals', 'points' and 'sections' have been developed as a Python Package \nto promote re-use across other layouts. This includes functions to support the interlocking of signals and points to enable \nfully prototypical signalling schemes to be developed. The signals and points opjects can be easily mapped to one or more DCC \naddresses in a manner that should be compatible with the majority of DCC signal/points decoders currently on the market. \nTrack sensors can also be easily integrated (via the Raspberry Pi's GPIO interface) to enable full automatic control.\n\nThe Python Package containing the core 'library' functions (together with some simple examples of use) is now in a seperate repository\n(https://github.com/johnrm174/model-railway-signalling) and can also be downloaded directly from PyPI using pip install (https://pypi.org/project/model-railway-signals/)\n\nAs far as the code is concerned, I've tried to keep it simple - and readable to those that aren't intimately familiar with\nsome of the \"advanced\" aspects of the python language (e.g. I've avoided most of the object-oriented constructs where possible)\n\nTo give it a go, just clone the repository and and run 'my_layout' (note that you will also have to download and install the core 'model-railway-signalling'\npackage for it to run). This is still very much work in progress but should give a good example of how a fully interlocked (and relatively complex) \nsignalling system can be built using the generic functions provided by the 'model-railway-signalling' Package. As my layout is still DC (rather than \nDCC) it also includes layout power switching. At the moment I have no plans to include this as a feature in the core package.\n\nComments and suggestions welcome - but please be kind - the last time I coded anything it was in Ada96 ;)\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnrm174%2Flayout-signalling-scheme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnrm174%2Flayout-signalling-scheme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnrm174%2Flayout-signalling-scheme/lists"}