ofSerialで実装されていないシリアル制御のオプションを拡張
ϋʔυ͞ΜͱoFofSerialͷ௨৴ΦϓγϣϯΛઃఆ͢Δୄ2015.12.13
View Slide
ϋʔυΣΞͱ௨৴͢Δͱݴ͑γϦΞϧ௨৴Ͱ͢ΑͶ
γϦΞϧ௨৴େ͖Ͱ͢ΑͶʁ
ઌ͜ΜͳͭΛ࡞ͬͨͷͰ͕͢ɺɺɺ
ϞʔλυϥΠόͱ௨৴Ͱ͖ͳ͍
֬ೝͯ͠Έͨͱ͜Ζɺɺɺ• ύϦςΟνΣοΫ͕ۮͰೖͬͯΔʂ• oFઃఆ͠Α͏ʂ
͋Εɺɺɺ·͔͞ɺɺɺΦϓγϣϯ͕ઃఆͰ͖ͳ͍ʂ
γϦΞϧͷΦϓγϣϯͱදతͳͷɺϘʔϨʔτҎ֎ͩͱɺ• ύϦςΟ":"None,"Even,"Odd• ετοϓϏοτ":"1,"2• σʔλϏοτ":"5,"6,"7,"8• ϑϩʔ੍ޚ"(DTR)":"ON,"OFFͳͲ
Α͘͏IoTܥʁͷ(ͬ͞ͱ͑Δ)ػثͳΒɺ• ύϦςΟ":"None"(~PARENB)• ετοϓϏοτ":"1• σʔλϏοτ":"8• ϑϩʔ੍ޚ"(DTR)":"NONEͱ͔ʹͳ͍ͬͯΔ
ࢀߟจݙ• γϦΞϧϙʔτͰ༡΅͏• γϦΞϧ௨৴ͷجૅࣝ"#"RS#232C"/"RS#422"/"RS#485"
oFͰ͍ͬͯΔγϦΞϧͷϥΠϒϥϦ• TERMIOS)(LINUXඪ४ͷλʔϛφϧ੍ޚΠϯλϑΣʔεΈ͍ͨ)• ຊޠͷManPage
͜ͷΜ͍͡Ε͍͍ͬΆ͍
֦ுͯ͠Έ·ͨ͠class ofxSerial : public ofSerial{void setParity(parity p);void setStopBits(stop_bits s);void setDataBits(data_bits d);};
ςετͯ͠Έ·͠ΐ͏ͱΓ͋͑ͣArduinoઌੜͰ
ArduinoઌੜͰ͜Μͳײ͡Ͱఆٛ͞Εͯͨ
ͯ͜ͱͰɺ͜Μͳײ͡Ͱॻ͚OKvoid setup(){Serial.begin(9600, SERIAL_8E2); // ϘʔϨʔτͱΦϓγϣϯͷઃఆ}void loop(){while (Serial.available()){Serial.print("got message! : ");Serial.println((int)Serial.read());}}
γϦΞϧ௨৴࠷ߴʂγϦΞϧ௨৴ͭΒ͍
ͱΓ͋͑ͣެ։• ͪ͜Βɿh#ps://gist.github.com/hideakitai/b4eb28a4ee8b04d3cce0• ofxSerial͍ͬͯ͏ଞϥΠϒϥϦΛͬͨͭ• ϝϯς͞Εͯͳ͍༷Ͱͬͨ͜ͱແ͍Ͱ͢
ࠓޙ• El$CapitanͷγϦΞϧɺFTDIυϥΠόௐࢠѱ͍ʁΊͪΌॏ͍ɻɻɻௐࠪதɻɻɻ
Ҏ্