Git Product home page Git Product logo

chirimen's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chirimen's Issues

user controllable on-board LED

CHIRIMEN has a user controllable on-board LED, green LED next to (always ON) red LED.

currently green LED is configured as "LED class" device, i.e. it can be controlled via /sys/class/leds/chirimen:green:user/*. (default is ON if Linux kernel is booted properly)

but we can configure it as GPIO (GPIO6_B3/gpio363), then user(app) will be able to control it via Web GPIO API.

should we configure it as GPIO?
(or, is there any available Web API for LED?)

[Hardware Design] Breadboard friendly design

Let's make Chirimen design more breadboard friendly. Perhaps adding power pins to power the breadboard rails or GPIO holes spaced correctly for standard breadboards on the market.

Chirimen-Dev Mailing List

Please kindly create a chirimen development (chirimen-dev) mailing-list. This will improve communication and help remote contributors to collaborate. It is really difficult to keep track of conversations on Facebook group. Thanks!

mp4の動画が再生できない

ログ残し
Issueたてれていなかったので、立てときます( すぐCloseですが )。

mp4の動画が再生できない不具合が存在。
MoCoの池田さんのご協力の元対応済み。

CLOSE.

Create #chirimen IRC Room

Please consider creating #chirimen and #chirimen-dev IRC rooms on irc.mozilla.org. The #chirimen is for users and general discussions and #chirimen-dev is for chirimen developer team.

Thanks!

bootloader

CHIRIMEN (RK3066) で利用可能なものとしては主に以下の二つ。

  • Rockchip 独自
  • U-Boot (Rockchip による fork 版)

Rockchip 独自のものは安定しているが、 U-Boot の方は OTG からのイメージの書き込みが不安定。
U-Boot の方は fastboot 対応。 (ただし現状のものはバグで使えない気がする)

現状 U-Boot でイメージの書き込みに失敗する事がそれなりにあるので、 Rockchip 独自のものにする方がよいかもしれない。
(ボードの数が少なく作業者が限られている為、周知しておけば済むという考えもアリ?)

At least 2 ADC pins

This is a big weakness of the raspberry pi and would be a good point of difference

GaiaのUIを決めたい

6月以降の ISSUE です

課題提起

現状、Gaia のビルドは Phone 指定となっています。
その為、スマートフォン向けの UI がメインとなっていますので、 ココらへんを変えていきたい。

具体的には、Phoneの UIとなっているため、HomeScreenのアプリアイコン表記、設定アプリのUI、さらにはSIMを指す前提での状態(不要な項目がある)、使えない電話アプリ/メッセージアプリなどがあるなど。

その為、ビルドを タブレットビルドとするか、 TV ビルドとするか、はたまた全く別なものとするか(JanOSの様にCUIベースとか、独自で作成など)で議論の余地あり。

議論にあたって

タブレットビルド、TVビルド、JanOSそれぞれのUI含めた操作感を全員で把握し、どの方向性とするか議論が必要。
※そもそもで、どのようなユースケースを目指すかにも依存しますし。。。

6月以降のMileStone決定時に議論したいです

ueventd.rc rules are not applied under certain conditions

following rules are not applied under certain conditions.

/sys/devices/virtual/gpio/gpio*   direction   0666   root       root
/sys/devices/virtual/gpio/gpio*   value       0666   root       root

workaround: add usleep(10000); just before chown()/chmod() in system/core/init/devices.c:fixup_sys_perms()
(probably this is not correct fix...)

prepare images for flashing

after ./build.sh, images for flashing need to be prepared as follows

  • out/target/product/chirimen/kernel
    • rkcrc -k kernel path/to/Image/kernel.img
  • out/target/product/chirimen/ramdisk.img
    • rkcrc -k ramdisk.img path/to/Image/boot.img
  • out/target/product/chirimen/recovery.img
    • cp recovery.img path/to/Image/recovery.img
  • out/target/product/chirimen/system.img
    • out/host/linux-x86/bin/simg2img system.img tmp.img
    • resize2fs tmp.img 384M
    • cp tmp.img path/to/Image/system.img

these commands should be run in flash.sh.

flashing firmware from Mac OS X

ブートローダの更新は Rockchip 製の upgrade_tool (Linux x86) や AndroidTool (Windows) で行う必要がある為、 Mac OS X では (VM 内で Linux/Windows を使用しない限り) 更新できない。

しかしブートローダ以外のイメージ (boot.img, system.img 等) については、 Mac OS X 環境でも更新できるはず。

  • rkflashtool
    • libusb があればビルドして使えるはず (誰かに試してほしい)
  • fastboot
    • ブートローダが U-Boot であれば (& バグを直せば) 使えるはず

(#10 SD カードにインストールできるなら問題はない)

[Hardware Design] Add headers to CHIRIMEN board

It would be great to add female headers to Chirimen. This will make it easier to work. Most of the Arduino have this feature (http://www.arduino.cc/en/Main/ArduinoBoardUno).

Of course, It is quite simple to solder some male pins. But inexperienced users (like me) can easily end up damaging the board while soldering. The IC chips are closely spaced on CHIRIMEN, spilling some solder on IC chips would damage the board.

Port to v2.5 from v2.1

Step 1 ( only v2.5 )

  • Gaia
  • Gecko
  • manifests
  • b2g-patches
  • fix bug at flash.sh ( #31, #13)

Step2 ( v2.5 + GPIO / I2C patch / recompile kernel )

  • Gaia
  • Gecko
  • #45 recompile kernel

Add onboard RGB LED instead of Red LED

Add onboard RGB LED on future design of Chirimen. The Arduino boards has one built-in on digital pin 13. The RGB LED could be used to provide visual notification of boot errors and recovery mode #29 etc. We can use the RGB LED to provide interactive default demo app #26 as well

Change default SCL clock frequency to 100 kbps (standard-mode)

I tried to use a following sensor AM2320, but the sensor could not work.
http://akizukidenshi.com/download/ds/aosong/AM2320.pdf
Also I did i2cdetect command on CHIRIMEN, but it was not detected.
According to the spec, this sensor supports up to 100khz SCL clock frequency.
Other sensors that are working well support 400khz.
So the reason may be the frequency.

standard-mode: up to 100 kbit/s.
fast-mode: up to 400 kbit/s
fast-mode plus: up to 1000 kbit/s
HS-mode: up to 3.4 Mbit/s.

install/boot from SD card

CHIRIMEN の仕様上ブートローダはどうしても NAND フラッシュに書き込んでおく必要があるが、カーネル等を SD カードに書き込んで使う事は技術的には可能。 NAND フラッシュの容量を気にしなくて済むほか、ファームウェアの配布・アップデートも SD カードの書き換えだけであれば比較的楽になると思われる。

ブートローダが Rockchip 独自のものの場合、カーネルおよび initramfs (boot.img) は NAND フラッシュに置くしかないが、他のブートローダであればカーネルを含め SD カードに置く事も可能になるはず。

Chirimen Default Starter App

It would be a good idea to replace default 'Homescreen' app in the pre-built image with custom Chirimen default app.

Here are few ideas for the default starter app:

  • Will provide a screen with some information about Chirimen.
  • It will run a basic blink example
  • An input UI element on the page will enable users to change the rate of blink (in seconds)
  • Users who connected to Chirimen using the Firefox remote connection manager, could change the blink rate using Devtools console
  • If certain component (a gyro) is connected on pre-assigned GPIO ports then default app will use Screen.orientation Web API.

センサ値などの取得に関する課題(Bugzillaでの指摘を具体例でわかりやすいように記載)

tl;dr

https://bugzilla.mozilla.org/show_bug.cgi?id=1166588
にて指摘頂いている課題の具体例の記載。
♯ 指摘内容と、それがアプリに対してどういう制限として繋がるのかを明確にする。

現状のGPIO APIの実装では、センサ(及びボタンなどのデバイス)からの値を読み取るためには、readをポーリングで処理せねばならない。

そのため、アプリケーション層から、特定デバイスに対して一定周期でのボーリングにて実装する必要がある。
つまり、センサ(やボタンなど)から値を細かい周期で取ろうと思えば思うほど、UIブロックが発生してしまう。

JavaScriptはシングルスレッドなのでこれは仕方がない。
なので、Workerスレッドに逃せば出来るかと想像できるが、課題が存在。

Geckoの実装として、Gaiaのアプリ上からWorkerスレッドを呼べるようにするにはGecko側にWorkerから呼べるように修正が必要。現状の実装ではWorkerから呼べるようにしていないので、GPIO/I2CはWokerから呼べない( (試していないため、確認は必要だが )。
※ ここで書いているのは、Kyleから指摘されているe10s/IPCとは別な話。WebAPIとして、Gaiaのアプリケーション層から操作するための話。

なので、現状の結論からでは、以下の制限が発生。
 例えば、CHIRIMENに加速度センサを付けて傾きに応じて、LEDにを光らす / UIを更新するアプリ。
 傾き検知の値を細かい値にすればするほど、メインスレッドでポーリングが必要。
 そのため、メインスレッドにてブロッキングが発生。
 LEDを光らすのはもちろん、描画更新も出来ないし、何もできなくなる。
 センサ値取得処理をWorkerスレッドに逃そうにもWorkerスレッドからは呼べない(はず)なので、現時点においては、回避方法はない。
 →要はメインスレッド内で処理できるキャパシティが決まっているので、センサをセンシティブに取得して、DOM操作、他のGPIO/I2C操作など凝った動作をしようと思うと制限が出てくる。「センサ取得を荒くして、DOM操作に割く」、「センサ取得がセンシティブだが、DOM操作は制限」など、作りこみが大きくなればなるほど影響が出てくる。

[Hardware Design] Support for Stackable Sheilds

In future we would like to add support to more sensors, Bluetooth, NFC and motor controls. Designing a new stackable shield would be great.

Alternatively Chirimen design could match the dimensions to Arudino Uno so that we can re-purpose Arudino Proto Sheild (http://www.arduino.cc/en/Main/ArduinoProtoShield). Users who have such Arudino uno compatible shields could start porting support to Firefox OS.

Also consider looking at stackable solution out there such as Grove (http://www.seeedstudio.com/wiki/Grove_System) and Onion Omega (https://www.kickstarter.com/projects/onion/onion-omega-invention-platform-for-the-internet-of/description)

Fails on generate image file on flash.sh

[ problem ]
In MozOpenHard repos, clone git repo. config it, build it, and then try to generate image to exec flash.sh.
We can't get image file.

[ cause ]
Chirimen's section is missing on flash.sh
We have to add bellows :

 +"chirimen")
 +  cp device/rockchip/rksdk/buildspec-rk3066.mk ./buildspec.mk
 +  device/rockchip/rksdk/mkimage.sh
 +  rm ./buildspec.mk
 +  rkst/mkkrnlimg out/target/product/chirimen/kernel rockdev/Image/kernel.img
 +  exit 0
 +  ;;

DeviceStorageAPI is unable to use

/mnt/sdcard/ cannot be accessed by the API in current setting.

I changed the permission by the following command
$ chmod 666 /mnt/sdcard/
and then, the API can access the storage.

Port to master branch

master ブランチで動かせるようにする。
現状、b2g-patches配下に CHIRIMEN用の各種パッチがあるが、これらを非適用もしくは、masterにいれられるよう検討する
方針として、まずはパッチをなくして代替手段がないかどうか(ビルドオプションとか)、
ない場合、パッチ削除による影響を確認する。

https://bugzilla.mozilla.org/show_bug.cgi?id=1166588 で指摘頂いている点についても解消必要。

error flashing build to device

I am receiving errors when flashing my build to the device:

$ sudo ./upgrade_tool di -k kernel.img

Download kernel start...
Reading data from flash failed in checking,exit download image!

Log:

17:15:14 Error:RKU_Read failed,err=-99
17:15:14 ERROR:Download_Image-->RKU_ReadLBA failed,Read(3264K),RetCode(0)
17:15:14 Upgrade Tool ver 1.21

Recovery Mode: Provide visual notification using LED blinks

Provide a visual notification using the onboard LED when the Chirimen board enters a recovery mode. At the moment, you require a external display and it is tricky process.

Usecase:

  1. Hold Reset button and connect the power adapter
  2. As the Chirimen enters the recovery mode, the onboard LED blinks to provide a visual notification

define default settings.json

Let's define and prepare appropriate default config for CHIRIMEN.

For example, I want:
"bluetooth.enabled": false,
"debugger.remote-mode": "adb-devtools",
"developer.menu.enabled": true,
"devtools.debugger.remote-enabled": true,
"devtools.remote.wifi.enabled": true,
"geolocation.enabled": false,
"lockscreen.passcode-lock.code": "0000",
"lockscreen.passcode-lock.timeout": 0,
"lockscreen.passcode-lock.enabled": false,
"nfc.enabled": false,
"screen.automatic-brightness": false,
"screen.brightness": 1,
"screen.timeout": 0,

config files in gaia
https://github.com/mozilla-b2g/gaia/tree/master/build/config
Note: my custome-setting.json for smartphone:
https://gist.github.com/dynamis/574b0cb2ed6668322f65

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.