Saturday, December 12, 2015

隱藏 Windows Folder

{21EC2020-3AEA-1069-A2DD-08002B30309D}

上面呢串野, 上網搵唔難搵到, 其實係乜Q我都唔知, 只係知道可以咁用:

只要你開一個 Folder, 結尾係 ".{21EC2020-3AEA-1069-A2DD-08002B30309D}", 例如:

    myFolder.{21EC2020-3AEA-1069-A2DD-08002B30309D}


只要你改佢既 attribute, 變成 hidden & system, 咁佢就真係隱藏左, 連 set 番 folder option 去睇 hidden file 都見唔番.

    attrib +s +h myFolder.{21EC2020-3AEA-1069-A2DD-08002B30309D}

要開番佢出黎, 只要改番唔再係 hidden & system 就得了.

    attrib -s -h myFolder.{21EC2020-3AEA-1069-A2DD-08002B30309D}


網上有 D 人講到幾神秘, 仲要有埋 password 去 lock 左個 batch file.
又話驚比人見 password, 就 remove 左個 batch, 將來要 unload 果下再 build 番個 batch 入 password.
其實個 password 唔重要, 最重要係知道個 folder 既名.

不過, 有一個大問題:  如果你唔記得左個 folder 名點算?  有無辦法搵得番?
如果有既....即係人地都可以搵到.  如果無既....萬一真係唔記得左, 就.....天意.

仲有樣野更慘...就係萬一你對上既 folder, 唔覺意 del 左, 就連呢D隱藏野都無埋.
人地剷左你D野都唔知....

Sunday, November 15, 2015

Using old CNC Shield with GRBL v0.9h (or above)

GRBL v0.9h 開始, 可以用 PWM 支援變速主軸, 但同時會將 D11 同 D12 針腳對調.

  • Variable spindle is now enabled by default. Z-limit(D12) and spindle enable(D11) have switched to access the hardware PWM on D11. Homing will not work if you do not re-wire your Z-limit switch to D12.

咁就 XYZ 了, 用緊舊既 CNC Shield 點算?
Homing 都事少, 轉左 D11 同 D12 就 大鑊, 針腳變左, 連訊號都唔同左.
平時主軸都全開, 仲有時用激光頭, 唔需要變速, 用 relay 控開關就夠了.
最慘係佢轉左 PWM output, 同 Z-limit 調轉插都唔 work (PWM  控 relay 唔得)
買左塊舊既 CNC Shield 板咪廢左?

好在 GRBL 都預左我呢條 cheap 精, 死都要用舊野 (無錢換新野), 佢都留番一手比我玩.

  1. download GRBL 既 source. https://github.com/grbl/grbl
  2. 爆開個 zip 將 grbl 既 folder 抄去 arduino 既 libraries folder 下面
  3. 打開佢個 config.h, comment 左呢句野:
       #define VARIABLE_SPINDLE // Default enabled. Comment to disable.
  4. 開 Arduino, 再 load Example:  grbl->grblUpload
  5. 好似平時咁 set 好 port 同 板, upload 上去就得

改完之後, 就可以用番舊既 CNC Shield 玩了.


GRBL 的接腳資料: GRBL's Pin


Monday, November 9, 2015

為 Arduino 安裝 GRBL

要玩平價 CNC, 可以用 Arduino 裝上 GRBL 固件去做.

1. 首先當然你要有塊 Arduino 板喇.  一般大路都係用 UNO 或者 Nano, 其他我無試過了

2. 講明刷 GRBL, 自然要去 呢度 下載 GRBL 固件喇: https://github.com/grbl/grbl
    大路既用 generic default 得喇
    我都有個下載左既:  v0.9j (2015-09-30)

3. 有固件都仲要有工具刷, Arduino IDE 幫你唔到, 要去 呢度 下載ArduinoBuilder:
    http://sourceforge.net/projects/arduinodev/
    我都有個下載左既: v0.9.1 (2015-06-02)

4. 之後可以開工, 首先插好塊 Arduino 再執行 ArduinoBuilder, 然後 按 [裝入代碼或 HEX 文件]


5. 再去搵番你之前下載既GRBL 固件, 按[Save] (其實都無野 save, 明明係 load....)


6. Check 清楚主板型號 同埋 時鍾頻率, 無錯就選你執板既 port 去 click. (例如我係 COM20)


7. 之後佢就會開始刷落去了



8. 時光飛逝......幾秒後就刷完.  用得.


9. 小心D睇下有無刷衰, 可以用是旦一個 serial tools, 例如最簡單用番 Arduino IDE 既 Serial Monitor.
    一開就會見到 GRBL 既 版本, 基本上都無死錯人了.

10. 是旦輸入 D 野, 例如 "$$" 去 check 下 setting.  無事就攪掂, 可以準備用了.
      以下係剛刷完 default 既 setting.






Tuesday, October 6, 2015

用 Qt 改 GRBL Controller 筆記 (一) compile 同 debug GRBL Controller

無野好玩, 走去學人寫 Qt....就係為左想改個 GRBL Controller....係咪痴痴地呢?

基本資料:

Qt class hierarchy


睇完個圖就識用?  我話 "係", 你吹得我漲咩?
其實如果你有寫開 C++, 基本上都睇得明, 反而都係用一堆 library 做野, 有問題都係即搵.
至於個 project 既架構, 點樣用 Qt gen 個 executable 出黎, 點埋睇下就知了.
之後改野, 如果唔係大改動既, 搵下 D code, 改少少野, 識 C++ 都夠用既.

要 Compile 到 GRBL Controller, 需要有少少改動, 而且未必個個 version 一樣, 以下係一個例子:
(只限於 Windows 下使用以下版本, 其他版本唔敢包.  因為未必人人有裝 VS, 所以無用 VS 版本.)
1) Qt version: Qt 5.5.0 for Windows 32-bit (MinGW 4.9.2, 959 MB)   下載版面 ,   直接下載
2) GRBL Controller 3.6.1 下載版面  ,  直接下載

下載完先安裝好 Qt 5.5.0, 唔理咁多, 乜都裝哂佢.

之後爆開 GRBL Controller 既 source, 再用 Qt 5.5.0 去開.
假設 GRBL Controller 放左去: E:\my.Source\GrblHoming\GrblHoming-3.6.1
最好改下 build 既 path, 左手邊 Projects 入面, 改左 General 下面既 path, 記得改哂 Debug 同 Release.

之後直接 Run 既話, 會出 error (人地都放埋 exe 比人下載, 無理由咁, 唔知係咪其他版本會無事.)
需要改動好系, 只係加番句 #include <QtCore/QObject>  去下面兩個 header file 就得了:

  • Headers\timer.h
  • log4qt\Headers\helpers\factory.h

之後應該行到無事, 但仲有可能 debug 唔到.  原因出在 qextserialport 度.
參考資料: Issue 158: On Windows7, QextSerialEnumerator::getPorts() occur debug break
好似有地方唔記得 check INVALID_HANDLE_VALUE, 直接行 RegCloseKey 就會出事.

解決方法 (修改 Sources 入面 qextserialenumerator_win.cpp:
1)  在 getRegKeyValue 中, 如果提供的是 invlalid handle 就即走

static QString getRegKeyValue(HKEY key, LPCTSTR property)
{
    /* By Super169
     *   Return empty string for invalid handle
     */
    if (key == INVALID_HANDLE_VALUE) return "";
    :
    :
}

2)  在 getDeviceDetailsWin 中, check 下 get 番黎既 key 係咪 invalid

static bool getDeviceDetailsWin(QextPortInfo *portInfo, HDEVINFO devInfo, PSP_DEVINFO_DATA devData
                                 , WPARAM wParam = DBT_DEVICEARRIVAL)
{
    :
    :
    HKEY devKey = ::SetupDiOpenDevRegKey(devInfo, devData, DICS_FLAG_GLOBAL, 0, DIREG_DEV, KEY_QUERY_VALUE);
    /* By Super169
     *   Return false for invalid handle
     */
    if (devKey == INVALID_HANDLE_VALUE)
        return false;

3)  在 enumerateDevicesWin 中, check 下 無問題 而且有名既 port 至加落去個 list 度

static void enumerateDevicesWin(const GUID &guid, QList *infoList)
{
    HDEVINFO devInfo;
    if ((devInfo = ::SetupDiGetClassDevs(&guid, NULL, NULL, DIGCF_PRESENT)) != INVALID_HANDLE_VALUE) {
        SP_DEVINFO_DATA devInfoData;
        devInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
        for(int i = 0; ::SetupDiEnumDeviceInfo(devInfo, i, &devInfoData); i++) {
            QextPortInfo info;
            info.productID = info.vendorID = 0;
            /* By Super169
             *   Skip for invalid devices, or empty name
             */
            if ( getDeviceDetailsWin(&info, devInfo, &devInfoData) &&
                 info.portName.compare("") &&
                 !info.portName.startsWith(QLatin1String("LPT"), Qt::CaseInsensitive) )
                infoList->append(info);
        }
        ::SetupDiDestroyDeviceInfoList(devInfo);
    }
}

做左以上幾樣 (第 1 個係 optional, 只係想安全 D), 應該可以 debug 到, 而且唔會出埋 D 無用既 list 了.
之後可以開始進行改動了.

so far 我只係改左個 combo box 既 behaviors, 唔要 auto-complete, 同埋加左兩個 button 改左 step 既設定, 都唔算大工程, 識少少 C++ 都夠了.

Sunday, August 23, 2015

Windows 10 Bugs

Windows 10 就預左有 bug 架啦, 問題係D bug 有幾古怪, 要點去 fix

1) Store 無故 close.... 可以開 store, 但一 click app 就 close
     解決方法真係估你唔到:
  1. 開 Settings
  2. 選 Time & language
  3. 在 Date & Time 入面, check 下 Time zone 有無錯, 錯就執番正佢
  4. 將 "Set time automatically" turn OFF
  5. 再將 "Set time automatically" turn 番 ON
    (你無睇錯, 就係 turn OFF 完再 turn 番 ON)

    唔係講笑架, 真係 work 既, 主要係將 ""Set time automatically" OFF 左再 ON 番 ....
    係咪估你唔到呢.

2) 唔見左 PIN Sign-in Options
    參考官方答案 (build 9926 已有既 bug, 10240 仲未 fix 照出左街
  1. Open File Explorer and browse to this location:
        C:\Windows\ServiceProfiles\LocalService\AppData\Local\Microsoft\NGC
  2. Delete everything within that folder
  3. Go to Settings-> Accounts->Sign-in Options
  4. Click Add a PIN again and set your PIN
  5. PIN sign in should work going forward


Monday, July 27, 2015

解決 FT232R 新 Driver 用唔到既問題

來源:  https://www.microduino.cc/wiki/index.php?title=Solution_to_FT232R_(USBTTL)_Error


在 2014 年, FTDI 更新左 Driver, 經 Windows 認證, 家陣會自動同你更新.
呢個新 Driver 最大既特點, 就係將 山寨 FT232R chip 變磚....
如果玩開 Arduino 既朋友, 有可能你塊 Nano, 又或者 USB-TTL 轉換頭, 就會中招了.

網上搵左唔少方案, 實測後, 呢個應該係最掂.

https://www.microduino.cc/wiki/index.php?title=Solution_to_FT232R_(USBTTL)_Error

其實之前都攪掂左, 點知最近 set 完機, 又唔係好記得點攪.
老人家無記性, 為免人地個 web page 死左就無得睇, 都係自己記低哂佢.


注意, 太新既 Driver, 一樣有可能會衰既, 安全起見, 裝番 v2.08.3 so far 肯定無問題.


方法都唔算複雜, 不過記住: 如果 Windows 既 Driver 唔 work, 就裝番一次 v2.08.3.  最好先right-click 個 device, uninstall 果下 delete 埋 driver, 再 right-click INF file 去 install裝番 v2.08.3 再黎. 

1) 例牌 你個山寨 device, 會出左三角感嘆號 (如果無既, 恭喜你, 你無事...咁你仲黎睇乜?)


2) 都係同佢更新 driver, right-click 佢選 Update Driver Software...


3) 之後 [Browser my computer for driver software]


4) 然後[Let me pick from a list of device drivers on my computer]


5) 再選 "Universal Serial Bus controllers"


6) 雖然係山寨, 都要當正牌.  選番 FTDI 既 USB Serial Converter (可能有好多, 是旦一個)


7) 佢話唔建議你自己夾硬黎, 睬佢都傻喇, 唔夾硬黎用到至得架.  唔駛理佢, [Yes] 去馬.


8) 裝左一輪, 掂左?


9) 係咪想丙我呢, 唔好丙住, 圖都 cap 得比你睇, 呢野預左既, 仲係 三角感嘆中.


10) 同之前一樣, right-click 佢選 Update Driver Software...


11) 又係咁 [Browser my computer for driver software]


12) 再來[Let me pick from a list of device drivers on my computer]


13) 睇清楚喇, 今次要選 "Ports (COM & LPT)", 唔好攪錯, 攪錯又再黎過


14) 都係 FTDI, 不過今次係 USB Serial Port


15) 又係一句肺腑之言, 合埋眼 [Yes] 喇.


16) 再一次 successfully updated 喇.....係咪又玩野?


17) 放心, 今次真係得左, 雖然唔識話係 FT232R, 不過, 最緊要用到就得喇.
      你加完未必係 COM12, 唔係部部機一樣的, 睇你本身裝過乜.
      唔鐘意個 port number, 自己去改番佢.



跟住黎做都唔掂既, 記得一定要同我講聲, 不過, 我睬你都傻 (到底我係咪傻既呢?).

Friday, July 10, 2015

安裝 USB CNC Controller

裝呢隻野, 最煩就係個 Driver.
本來安裝 Driver 有幾大問題, 點知原來真係幾煩.

首先要去網站下載 Driver:  http://www.planet-cnc.com/index.php?page=download  (選 PlanetCNC USB Driver)
或者呢度有個係我在 2015-07-10 下載既.

之後如果你在 Windows 8 直接安裝, 你會一直出 "!", 用唔到.
原因係 Windows 8 既 Driver Signature Enforcement 過唔到, 根本裝唔到個 Driver.

咁樣就要先 Disable 左 Driver Signature Enforcement.  呢樣野要 boot 入 advance option 既, 有時開機按 F8 未必會成功, 我就按左十幾次都唔得, 都係用番 D "簡單" 既方法, 直接 D.

(1) Win-C 開條 charm bar 出黎, 選 "Settings" 再後再選最底果個 "Change PC Settings".



(2) 入左我最 Q 憎既 METRO UI 版面既 PC Settings, 先選 "Update and recovery" 再選 "Recovery"
    之後 click 右手邊既 Advance Startup 下面個 "Restart Now", 就會 boot 機入 Advanced Option Menu.



(3) Boot 入左 Advanced Option Menu 就選 "Troubleshoot"



(4) 之後就選 "Advanced options"

(5) 然後再選 "Startup Settings"

(6) 跟手 Click "Restart" 佢就會再 boot 一次



(7) Boot 完機, 就會見到想要既野了, 選 "Disable driver signature enforcement", 佢就會 boot 個 Windows 出黎

(8) 再裝多次 CNCUSBControllerDriver, 今次佢會話 Windows verify 唔到個 driver, 當然係 go ahead 去裝喇, 攪咁多野就係唔駛佢 verify 直裝.


(9) 攪掂可以用得, 當執行 CNC USB Controller 時, 佢可能會要你升級.  如果唔升, 入唔到 license, 所以無得選擇照升.

(10) 升完就去 Help->Active License, 佢應該會 show 左個 Activation Code 同埋 Serial 出黎 (記得插住張卡).

(11) 想辦法變個 Registration Key 出黎, 填左佢.  再 OK, 見到呢句野就攪掂.




要 "Disable driver signature enforcement" 就要先入 Advance option menu, 但有時又唔係下下 F8 都入到, 係咪好煩呢.
網上話 "Driver Signature Enforcement Overrider" 可以幫到你, 試左可能 windows 8 唔 work.
又有人話行 gpedit.msc 開 Local Group Policy Editor,
再去改 User Configuration - Administrative Templates - System - Driver Installation
入 "Code signing for device drivers",  Enable 左佢再選 ignore......結果一樣係唔多掂.

Sunday, June 21, 2015

玩具級 CNC 資料

在 MyDigit.cn 上的玩具級 CNC 資料 以及有關討論集合:
  1. 20150216 做了个玩具级别的雕刻机
  2. 20150301 玩具雕刻机,我把材料表整理了
    (淘寶套件: DIY雕刻机)
  3. 20150309 玩具级雕刻机装配教程
  4. 20150329 仿制个玩具级雕刻机,总成本大概400元
  5. 20150408 玩具雕刻机 没人发雕刻PCB电路的吗
    (淘寶: USBCNC 2.1版本, 店家仲有 山寨9軸MK2 的, 不過要 420 人仔)
  6. 20150414 跟风做迷你CNC雕刻机
  7. 20150425 也做玩具雕刻机 ,302元完成
  8. 20150429 玩具雕刻机之我见
  9. 20150503 玩具雕刻机手把手教 刻pcb
  10. 20150503 玩具雕刻机制作完成,上雕刻作品图
  11. 20150503 玩具雕刻机仿制完成,可是雕刻效果另外大失所望。
  12. 20150609 入手玩具雕刻机一个月后的第二件作品。。。木牌
  13. 20150426 CNC大机生小机,和论坛里最热的那个不同,是移动龙门的。
  14. 20150504 为了雕PCB设计并制作一台雕刻机   更新雕刻TQPF44
    (淘寶: 第二批雕刻机付款链接,PCB雕刻机)
  15. 20150618 最近迷上雕刻机,手动对刀太麻烦了,自己做个对刀块!
  16. 20150515 废喷墨打印机改超低成本大行程玩具雕刻机
  17. 20150623 新雕刻机日记
  18. 20150623 mini雕刻机,大家快来围观啊! (550/580 人仔一套) - (淘寶店 650 人仔)
  19. 20150713 先来开个贴,直播下组装瓦良格的雕刻机
  20. 20150728 mini雕刻机第五代 (淘寶店 750 人仔, 未包電控同電源)


有關資源