2016年10月18日 星期二

[Arduino]Quadcopter


https://www.youtube.com/watch?v=A3FyJZbtSBk

http://diydrones.com/profiles/blogs/arduimu-quadcopter-part-iii

http://www.robotshop.com/blog/en/make-uav-lesson-1-platform-rtf-arf-kit-custom-13989

http://kitsprout.logdown.com/?page=3

http://csenichijou.blogspot.tw/2014/03/Quadcopter-1.html

MPU-9250 and Arduino (9-Axis IMU)
http://www.lucidarme.me/?p=5057

http://diydrones.com/forum

http://www.instructables.com/id/DIY-Drones/


https://hom-wang.gitbooks.io/quadcopter/content/

2016年10月12日 星期三

[Ardunio]四軸飛行機工作坊



http://www.techbang.com/posts/46439-course-real-workshop-arduino-four-axis-aircraft-unmanned-aerial-vehicle-hardware-wireless-remote-control-flight-instruction-flight-control-software-integration-society

2016年10月7日 星期五

[git]rebase


之前不懂rebase的問題在哪
今天看了一下下面文章,大致明瞭
https://git-scm.com/book/zh-tw/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E8%A1%8D%E5%90%88

基本上,Rebase有點像悔改自己的修改歷程,

假設你由公司伺服器的git倉庫克隆了一份master在自己電腦上,

這個時間點我們先訂為時間點一。

你奮鬥了一陣子,
過程是將為了某個issue,你從master取出branch 1去解決這個issue,
而原本的master因為你也有繼續的項目而前進到branch 2,
當issue解完,branch 1要合併回去master時,就會合併到branch 2,我們將這個時候的branch 2叫做branch 3,而master這時就是branch 3。
這樣的過程叫merge。

在這時,我們再暫停一下,這個時間先稱為時間點二。


當你後來發現這樣的岔開方式太繁瑣時,改成使用rebase功能將branch 2的內容在branch 1裡重演一次,生成了branch 2',這時原本的branch 3就不見了。

在這時,我們再暫停一下,這個時間稱為時間點三。

如果到目前為止你都沒有將你的master push回去公司伺服器裡的git倉庫,那天下太平。


會造成問題的例子如下:

讓我們回到時間點一,你同事也在這時候克隆了一份努力工作,
生成了branch 4,

故事繼續走到你奮鬥了一陣子,到了時間點二,你將master push回git倉庫,
你同事盡責的將你的成果同步到他的電腦裡,基於你的branch 3基礎,繼續開發。
並生成了branch 5

故事繼續走到時間點三,你將rebase的結果push回去,
你同事繼續盡責的將你的成果同步到他的電腦裡,
並生成了branch 6,

這時候,你同事就會看到,branch 6裡面有branch 2以及branch 2'的內容,因為branch 2以及branch 2'有兩個不同的SHA-1 校驗值,並不會被取代掉,這兩個內容一模一樣的branch會造成同事莫大的困擾,如果你只有一個工作夥伴,那可能還好解決.....

如果你有許多的工作夥伴,試想每個夥伴的branch裡面都出現莫名其妙的內容時,
那把火會燒得有多旺。

所以,除非你很清楚倉庫裡的來龍去脈,也能很清楚讓別人了解Rebase了什麼,
否則,不要輕易Rebase。









[Sensor]MPU92/65

MPU92/65是很久以前買的感測器 基本上有加速度計、陀螺儀、電子羅盤、溫度計 以下是該電子商城的介紹 https://www.factoryforward.com/product/gy-87-mpu-9265-3-axis-9-dof-attitude-gyro-magnet...