Controller SPLC780D1-001A

[링크 : https://m.eleparts.co.kr/data/goods_old/data/LC2041-SMLYH6-D%20Rev%201.0G.pdf]

 

언어가 하위 모델로 들어가나보다

sunplus껀

SPLC780D-01 일본어

SPLC780D-02 러시아어(키릴자모)

SPLC780D-03 그리스어

SPLC780D-08 라틴어군 (독일어/아이슬란드어/스웨덴어/프랑스어/포르투칼어/스페인어)

SPLC780D-13 일본어

SPLC780D-14 아랍어

SPLC780D-15 일본어 + 그리스?

SPLC780D-01 일본어 + 러시아

SPLC780D-17 일본어 + 라틴어군

SPLC780D-18 ???

SPLC780D-19 라틴어군 + 큰 폰트(알파벳)

SPLC780D-54 라틴어군 작은 폰트

 

그 이후로는 확장영역이 다른데 어디 나라 타겟인지 써있지 않아서 모르겠다

 

[링크 : https://www.displayfuture.com/Display/datasheet/controller/SPLC780D1.pdf] orient

[링크 : https://www.devicemart.co.kr/mart7/upload/html_img/30102/SPLC780D.pdf] sunplus

'하드웨어 > Display 장비' 카테고리의 다른 글

nvidia tensor core  (0) 2026.05.21
ILI9341 datasheet  (0) 2026.01.21
lcd timing  (0) 2025.11.28
pw700 edid 덤프  (0) 2025.10.27
lg pw700 3d 모드 활성화 super slow 촬영  (0) 2025.10.26
Posted by 구차니

네트워크 볼륨에 저장하면 날아가지 않는다?

Step 4: Clean up
To avoid incurring unnecessary charges, clean up your Pod resources.
Terminating a Pod permanently deletes all data that isn’t stored in a network volume. Be sure that you’ve saved any data you might need to access again.

[링크 : https://docs.runpod.io/get-started#deploy-via-the-console]

[링크 : https://www.runpod.io/]

 

256GB 면은 0.07x256 이니까 월 17.92$ 어우 제법 세네

Network volumes are backed by high-performance NVMe SSDs with transfer speeds of 200-400 MB/s (up to 10 GB/s peak).

Pricing
Standard storage:
First 1 TB: $0.07/GB/month
Beyond 1 TB: $0.05/GB/month

[링크 : https://docs.runpod.io/storage/network-volumes]

 

네트워크 볼륨은 200MB~400MB/s 라는데 피크 10GB/s 라는걸 보면..

nvme는 맞는데 속도 제한을 건걸까 아니면 SATA SSD를 쓰는걸까 싶은 생각이 든다.

아무튼, 얘는 그럼 대역폭을 더 넓게 쓸 수 있는 걸까?

Pricing
High-performance storage is priced per-GB at a premium to standard storage. The console displays per-GB and total monthly cost as you configure a volume.
Exact pricing varies by data center. Check the volume creation flow in the console for current rates.

[링크 : https://docs.runpod.io/storage/high-performance-storage#pricing]

 

그래픽 카드 변경하려면 pod을 재생성해야 할 것 같은데, 그러면 volume disk 날아가는걸까?

network volume 에 portable between pods 라고 된거 보면.. 그래픽 카드 바꾸려면 pod이 바뀌어야 하는게 맞을지도

volume disk 는 0.10$/GB/month 라서 일할계산될 것 같기도 한데..

 

볼륨/컨테이터는 초당 계산, 네트워크 볼륨은 시간당 계산. 그런데 금액은 월별이라..

Storage is billed per-second for container and volume disks, and hourly for network volumes. You are not charged if the host machine is unavailable.

[링크 : https://docs.runpod.io/pods/pricing]

 

기본적으로 페이지에서 시간당 비용으로 나오는데

요금 자체가 초당 요금도 있어서. 최대한 빠르게 처리하고 삭제하면 시간요금이 아니라 초요금으로 될 것 같기도 하다.

[링크 : https://www.runpod.io/pricing]

 

v100 sxm 성능이 궁금하긴 했는데 아직 서비스 하고 있긴한건가?

[링크 : https://docs.runpod.io/references/gpu-types]

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

socamm lpddr  (0) 2026.07.03
cpu 줍줍  (0) 2026.06.30
포맷할때가 되었나..  (0) 2026.06.19
iptime as 접수  (0) 2026.06.15
asrock B360M pro4  (0) 2026.05.01
Posted by 구차니
Programming/qt2026. 7. 1. 11:29

6.0.2 에서 qml을 열면 Designer 비활성화 되어있어서 qml을 텍스트로 수정해야 한다.

 

이전에 qt6를 깔땐 qt widget이 안되더니 먼가 하나씩 삐걱삐걱 하는 느낌?

 

qt creator 4.15 쓰니까 qml / widget 둘 다 잘 열리네 -_-

 

이제 반대로 버전 쭉쭉 올려봐야하나?

20.x 가 나온 상황인데 -_-a

'Programming > qt' 카테고리의 다른 글

qt cmake 에서 프로젝트로 등록하기  (0) 2026.06.30
qt signal / slot, connect() Qt::AutoConnection  (0) 2026.06.30
qt5 qml 다국어지원  (0) 2026.06.30
qt5 qml Q_PROPERTY  (0) 2026.06.30
qt5 qml connections  (0) 2026.06.30
Posted by 구차니

문득 생각나서 gemini cli 업데이트 하고

로그인 성공했다는데 다시 로그인을 시도하게 한다.

아래 에러 메시지를 보니 안티그래비티로 이전하라고 하는데..

기업 계정인데도 안되는건가?

'프로그램 사용 > ai 프로그램' 카테고리의 다른 글

claude.ai / claude code  (0) 2026.07.03
회사 클로드 결제  (0) 2026.07.03
mogrify를 이용한 이미지 증강, 배경색 설정  (0) 2026.06.25
local llm - mcp  (0) 2026.06.20
llama-swap 구현 (채팅)  (0) 2026.06.18
Posted by 구차니
embeded/robot2026. 6. 30. 15:18

위대하신(!) GPT 님께 질문을 바꾸어서 해보니 답을 내려주시었다!

from pymycobot.mycobot import MyCobot

mc = MyCobot("/dev/ttyAMA0", 1000000)

# Tool TCP 설정
# x, y, z, rx, ry, rz
mc.set_tool_reference([0, 0, 100, 0, 0, 0])

# End Type을 Tool로 변경
mc.set_end_type(1)

[링크 : https://chatgpt.com/share/6a435d66-1bd0-83ee-a338-b2b1932bee98]

 

send_angles([0,0,0,0,0,0], 10) 을 이용해서 쭉 펴면

이렇게 생겨 먹어서 굳이... 하자면 아래 기준 y축 방향이긴 한데

[링크 : https://docs.elephantrobotics.com/docs/gitbook-en/2-serialproduct/2.1-280/2.1.5-PI-2023.html]

 

gpt로 물어보고 다시 설명을 보니 다 써있었구나.. -_ㅠ

T in the figure is the set tool coordinate system. The posture of this coordinate system is consistent with O’, and the relative displacement of the origin has occurred. Use the python function to set the tool coordinate system:

set_tool_reference([x, y, z, rx, ry, rz]) //Set tool coordinate system
set_end_type(1) //Set the end coordinate system type as tool
Assume that the tool coordinate system T is not rotated relative to O' (rx = ry = rz = 0)
Assume that the origin of the tool coordinate system T is in the coordinate system O’ at (x = 0, y = 0, z = 100mm)
The final tool coordinate system parameter is set_tool_reference(0, 0, 100, 0, 0, 0)

 

그런데 왜 끝부분의 z 축은 가장 아래의 x 축을 보고 있는걸까?

 

[링크 : https://docs.elephantrobotics.com/docs/gitbook-en/2-serialproduct/2.1-280/Kinematics&Coordinate.html]

 

2.3 set_tool_reference(coords)

Function: Set Tool coordinate system。
Parameters:
coords: The coordinate value of [x, y, z, rx, ry, rz] has a length of 6, x, y, z ranging from - 280 to 280, and rx, ry, yz ranging from - 314 to 314
Return Value: None


2.4 get_tool_reference()

Function: Get Tool coordinate system。
Return Value: Returns a coordinate list with a length of 6


2.9 set_end_type(end)

Function: Set end coordinate system。
Parameters:
end: 0 - flange(default),1 - tool
Return Value: None


3.0 get_end_type()

Function: Get end coordinate system
Return Value: 0 - flange(default),1 - tool, -1 - error

[링크 : https://docs.elephantrobotics.com/docs/gitbook-en/7-ApplicationBasePython/7.3_coord.html]

 

+

해보니 잘 된다.

set_end_type() 의 문제였던 듯.

set_end_type(1) 해주고 나서 set_coords() 에서 rx 를 오가게 하니 된다.

'embeded > robot' 카테고리의 다른 글

mycobot ros1/ros2  (0) 2026.07.02
gcode (g-code)  (0) 2026.07.01
mycobot 280 pi / python  (0) 2026.06.29
왼손 오른손 좌표계  (0) 2026.06.22
mycobot280_pi urdf  (0) 2026.06.22
Posted by 구차니
Programming/qt2026. 6. 30. 14:23

맨땅에 헤딩하기! ㅋㅋ

클로드가 샘플을 짜주었는데 pro 파일을 생성해주지 않고

cmake만 있어서 한번 변환하는거 테스트 해봄

 

Step 1. QT Creator / Projects / NEW

 

Step 2. import project / import as qmake or cmake project

 

Step 3. .pro 파일로 만들 파일명과 저장할 경로 선택

 

Step 4. 프로젝트로 관리할 파일 추가. 빌드할 녀석들을 추가하는거라 CMakeLists.txt 와 같은 소스코드가 아닌건 빼야 한다.

진행하고 보니 qml 디렉토리를 빼먹었었네 -_-

 

Step 5. 버전관리하려면 넣고 아니면 빼고

 

Step 6. "Configure Project" 우측 하단 버튼을 꼭 눌러주어야 파일 추가되면서 제대로 생성된다.

'Programming > qt' 카테고리의 다른 글

qtcreator 6.0.2 -> 4.15.2 다운그레이드 시도  (0) 2026.07.01
qt signal / slot, connect() Qt::AutoConnection  (0) 2026.06.30
qt5 qml 다국어지원  (0) 2026.06.30
qt5 qml Q_PROPERTY  (0) 2026.06.30
qt5 qml connections  (0) 2026.06.30
Posted by 구차니
Programming/qt2026. 6. 30. 12:40

connect() 함수를 사용하면 대개 인자를 4개만 넣고 쓰는데

함수 프로토타입을 보니 가장 마지막 인자가 기본값으로 지정되어 있다.

// qobject.h
    static inline QMetaObject::Connection connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal,
                                     const typename QtPrivate::FunctionPointer<Func2>::Object *receiver, Func2 slot,
                                     Qt::ConnectionType type = Qt::AutoConnection)

 

기본은 Qt:AutoConnection 이라는데 약간의 손실 가능성이 존재하고

반드시 손실되서는 안되는 경우라면 QueuedConnection으로 하는것을 추천한다고 한다.

// qnamespace.h
    enum ConnectionType {
        AutoConnection,
        DirectConnection,
        QueuedConnection,
        BlockingQueuedConnection,
        UniqueConnection =  0x80
    };

 

DirectConnection은 다른 스레드에서 쓰면 동기화 문제 발생할수 있다는걸 보면 동일 쓰레드 내에서 써야 할듯.

[링크 : https://still.tistory.com/86]

 

 

[링크 : https://doc.qt.io/qt-6/qt.html]

'Programming > qt' 카테고리의 다른 글

qtcreator 6.0.2 -> 4.15.2 다운그레이드 시도  (0) 2026.07.01
qt cmake 에서 프로젝트로 등록하기  (0) 2026.06.30
qt5 qml 다국어지원  (0) 2026.06.30
qt5 qml Q_PROPERTY  (0) 2026.06.30
qt5 qml connections  (0) 2026.06.30
Posted by 구차니
Programming/qt2026. 6. 30. 12:31

언제나 그렇듯(?) tr() 대신 qsTr()로 감싸줘야 한다.

Text {
    id: txt1;
    text: qsTr("Back");
}

[링크 : https://doc.qt.io/archives/qt-5.15/qtquick-internationalization.html]

 

qt5.10 이전에는 retranslate()가 정상적으로 작동하지 않는 문제가 있었다고.

함수 레벨이 다름에 주의.

그런데.. installTranslator 하기 전에 removeTranslator 해줘야 하나?

    if(lang == "bg") {
     qApplication->removeTranslator(&trEN);
     qApplication->installTranslator(&trBG);
    } else if (lang == "en") {
     qApplication->removeTranslator(&trBG);
     qApplication->installTranslator(&trEN);
    }

    qmlEngine->retranslate();

[링크 : https://forum.qt.io/topic/90018/problem-with-dynamic-language-change-in-qml]

[링크 : https://wiki.qt.io/How_to_do_dynamic_translation_in_QML]

'Programming > qt' 카테고리의 다른 글

qt cmake 에서 프로젝트로 등록하기  (0) 2026.06.30
qt signal / slot, connect() Qt::AutoConnection  (0) 2026.06.30
qt5 qml Q_PROPERTY  (0) 2026.06.30
qt5 qml connections  (0) 2026.06.30
qt 동적 해상도 대응  (0) 2026.06.29
Posted by 구차니
Programming/qt2026. 6. 30. 12:24

uml 외부와 내부를 연결해주려면 Q_PROPERTY를 이용해서 변수를 지정하고

해당 변수를 건드릴 함수를 연동해주면 된다.

class UIController : public QObject
{
    Q_OBJECT

    // ── 페이지 ──────────────────────────────────────────────
    Q_PROPERTY(int currentPage
               READ  currentPage
               WRITE setCurrentPage
               NOTIFY currentPageChanged)

    // ── 센서 / 데이터 값 ────────────────────────────────────
    Q_PROPERTY(double temperature
               READ  temperature
               NOTIFY temperatureChanged)

    Q_PROPERTY(double progress
               READ  progress
               NOTIFY progressChanged)

    // ── 텍스트 ──────────────────────────────────────────────
    Q_PROPERTY(QString statusText
               READ  statusText
               NOTIFY statusTextChanged)

[링크 : https://doc.qt.io/qt-6/qtqml-cppintegration-exposecppattributes.html]

 

다만 Q_PROPERTY로 연결이 가능한 타입에는 제한이 있다.

개인이 만든 구조체 등은 못 넘기는 듯?

[링크 : https://doc.qt.io/qt-6/qtqml-cppintegration-data.html]

'Programming > qt' 카테고리의 다른 글

qt signal / slot, connect() Qt::AutoConnection  (0) 2026.06.30
qt5 qml 다국어지원  (0) 2026.06.30
qt5 qml connections  (0) 2026.06.30
qt 동적 해상도 대응  (0) 2026.06.29
QT 다국어 지원, qm 만 교체 할수 있도록 변경  (0) 2026.06.29
Posted by 구차니
Programming/qt2026. 6. 30. 11:39

claude에게 qt5 qml 예제를 만들어 달라고 하고  코드 분석중

이전에는 못봤던 Connections 라는 키워드가 눈에 띈다

// Main.qml
ApplicationWindow {
    id: root

    // uiController.currentPage 변화 → StackLayout 전환
    Connections {
        target: uiController
        // Qt5(Qt5.4+)는 함수형 핸들러 onXxxChanged 동일하게 지원
        onCurrentPageChanged: {
            stack.currentIndex = uiController.currentPage
        }
    }

    ColumnLayout {
        anchors.fill: parent
        spacing: 0
        // ── 페이지 스택 (StackedWidget 대응) ──────────────
        StackLayout {
            id: stack
            Layout.fillWidth: true
            Layout.fillHeight: true
            currentIndex: 0

            Loader { source: "HomePage.qml" }
            Loader { source: "DataPage.qml" }
            Loader { source: "SettingsPage.qml" }
        }

 

engine 에다가 setContextProperty 하는건 engine.load() 이후에 해도 적용되긴 한다.

// main.cpp
    // ── 인스턴스 생성 ─────────────────────────────────────
    SocketClient  socketClient;
    UIController  uiController;

    // ── 소켓 → UI 컨트롤러 시그널 연결 ───────────────────
    QObject::connect(&socketClient, &SocketClient::pageChangeRequested,
                     &uiController,  &UIController::onPageChange);

    QObject::connect(&socketClient, &SocketClient::valueChangeRequested,
                     &uiController,  &UIController::onValueChange);

    QObject::connect(&socketClient, &SocketClient::textChangeRequested,
                     &uiController,  &UIController::onTextChange);

    // ── QML 엔진 설정 ─────────────────────────────────────
    QQmlApplicationEngine engine;

    // QML에서 'socketClient', 'uiController' 이름으로 접근 가능
    engine.rootContext()->setContextProperty("socketClient", &socketClient);
    engine.rootContext()->setContextProperty("uiController", &uiController);

 

// socketclient.h
class SocketClient : public QObject
{
    Q_OBJECT
    Q_PROPERTY(bool connected READ isConnected NOTIFY connectedChanged)
    Q_PROPERTY(QString clientAddress READ clientAddress NOTIFY clientAddressChanged)

public:
    explicit SocketClient(QObject *parent = nullptr);
    ~SocketClient();

    bool isConnected() const { return m_socket != nullptr; }
    QString clientAddress() const { return m_clientAddress; }

    Q_INVOKABLE void startListening(int port = 9000);
    Q_INVOKABLE void stopListening();

signals:
    void connectedChanged();
    void clientAddressChanged();

    // 파싱된 명령 시그널
    void pageChangeRequested(int index);

 

// uicontroller.cpp
void UIController::setCurrentPage(int page)
{
    if (m_currentPage == page) return;
    m_currentPage = page;
    emit currentPageChanged();
}

void UIController::onPageChange(int index)
{
    setCurrentPage(index);
}

 

[링크 : https://swjs.tistory.com/entry/QTQML-QML의-Connections]

[링크 : https://doc.qt.io/qt-6/ko/qml-qtqml-connections.html]

'Programming > qt' 카테고리의 다른 글

qt5 qml 다국어지원  (0) 2026.06.30
qt5 qml Q_PROPERTY  (0) 2026.06.30
qt 동적 해상도 대응  (0) 2026.06.29
QT 다국어 지원, qm 만 교체 할수 있도록 변경  (0) 2026.06.29
QGraphicsProxyWidget  (0) 2026.06.05
Posted by 구차니