Git Product home page Git Product logo

아두이노 블록 -> 파이썬 언어 변환 -> 아두이노 블록 순서로 코드변환시 파이썬 언어에서 원래 아두이노 블록이 아닌 orange보드의 블록으로 잘못변환 about entryjs HOT 1 OPEN

entrylabs avatar entrylabs commented on August 10, 2024
아두이노 블록 -> 파이썬 언어 변환 -> 아두이노 블록 순서로 코드변환시 파이썬 언어에서 원래 아두이노 블록이 아닌 orange보드의 블록으로 잘못변환

from entryjs.

Comments (1)

JeongJun-Lee avatar JeongJun-Lee commented on August 10, 2024

디버깅 결과 root cause를 공유드리자면, 굉장히 오래된 legacy 버그로 블록<->파이썬 상호간의 변환을 위한 맵핑 테이블(key, value 형식)을 구축하는 아래 코드에서

syntaxPointer[syntaxKey] = result;

기존에 정상적으로 구축된 key값이 동일한 심볼명을 갖는 다른 하드웨어의 key값에 의해 덮어 씌워지는 문제로 인해 발생.

예를 들어, Arduino.digitalWrite(%1, %2) 파이썬 심볼에 대한 맵핑 key값은 본래 엔트리 기본 하드웨어인 Arduino 또는 ArduinoExt의 것으로 초기에 key값이 arduino_ext_toggle_led로 잘 설정되나, 이후 동일한 심볼명을 사용하는 여러 다른 하드웨어(예를들어 오렌지 보드 등)이 동일한 심볼명을 사용하고 있는 바람에 해당 키값을 자신의 것(orange_toggle_led)으로 덮어 씌우면서 발생하는 문제.

미해결시 예상결과: 이 legacy bug를 해결하지 않으면, 매우 드물게 발생하나 굉장히 찾아내기 힘든 버그를 양산할 수 있음.

from entryjs.

Related Issues (20)

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.