スキップしてメイン コンテンツに移動

Tiny861 Arduinoのコアになるのかなあ?

これでとりあえずコンパイル出来たが・・・
Arduino -Extras/cores/arduino/pins_attimy861.cxx
<<ファイルpins_attimy861.cxx>>

/*
  pins_arduino.c - pin definitions for the Arduino board
  Part of Arduino / Wiring Lite

  Copyright (c) 2005 David A. Mellis

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General
  Public License along with this library; if not, write to the
  Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  Boston, MA  02111-1307  USA

  $Id$
*/

#include <avr/io.h>
#include "wiring_private.h"
#include "pins_arduino.h"

// On the Arduino board, digital pins are also used
// for the analog output (software PWM).  Analog input
// pins are a separate set.

// ATMEL ATTINY861
//
//   +-\/-+
// SDA  (D 0) PB0 1|    |20  PA0 (D14)  A0
// OC1A (D 1) PB1 2|    |19  PA1 (D13)  A1
// SCL  (D 2) PB2 3|    |18  PA2 (D12)  A2  Int1
// OC1B (D 3) PB3 4|    |17  PA3 (D11)      Aref
// VCC 5|    |16  AGND
// GND 6|    |15  AVCC
// Xtal (D 4) PB4 7|    |14  PA4 (D10)  A3
// Xtal (D 5) PB5 8|    |13  PA5 (D 9)  A4
// Int0 (D 6) PB6 9|    |12  PA6 (D 8)  A5
// Reset      PB7 10|    |11  PA7 (D 7)  A6
//   +----+
//
//#undef PB

#define PA 1
#define PB 2

//#define REPEAT8(x) x, x, x, x, x, x, x, x
//#define BV0TO7 _BV(0), _BV(1), _BV(2), _BV(3), _BV(4), _BV(5), _BV(6), _BV(7)
//#define BV7TO0 _BV(7), _BV(6), _BV(5), _BV(4), _BV(3), _BV(2), _BV(1), _BV(0)

// these arrays map port names (e.g. port B) to the
// appropriate addresses for various functions (e.g. reading
// and writing)
const uint16_t PROGMEM port_to_mode_PGM[] = {
NOT_A_PORT,
NOT_A_PORT,
&DDRA,
&DDRB,
};

const uint16_t PROGMEM port_to_output_PGM[] = {
NOT_A_PORT,
NOT_A_PORT,
&PORTA,
&PORTB,
};

const uint16_t PROGMEM port_to_input_PGM[] = {
NOT_A_PIN,
NOT_A_PIN,
&PINA,
&PINB,
};

const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
PB,
PB,
PB,
PB,
PB,
PB,
PA,
PA, 
PA,
PA,/* 10 */
PA,
PA,
PA,
PA, /* 14 */

};

const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
_BV(0), /* 0, port D */
_BV(1),
_BV(2),
_BV(3),
_BV(4),
_BV(5),
_BV(6),
_BV(7),
_BV(6), 
_BV(5),
_BV(4),/* 10 */
_BV(3),
_BV(2),
_BV(1),
_BV(0), /* 14 */
};

const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
TIMER1A, /* 0 - port D */
TIMER1B,
TIMER2A,
TIMER2B,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER, /* 8 - port B */
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER,
NOT_ON_TIMER, /* 14 - port C */

};
Arduino -Extras/cores/arduino/pins_arduino.cに数行足した。
<<ファイルpins_arduino.c>>

#elif defined(__AVR_ATtiny861__)|| defined(__AVR_ATtiny861v__)
//* pin defs for ATtiny861 board
#include "pins_attimy861.cxx"

Arduino -Extrasのpins_arduino.cは良くできててboard,txtの

attiny861.build.mcu=attiny861

行から得た、mcu情報からPinsファイルを切り替えてくれる。
無いMCUを追加するのは、GCCが対応してれば、簡単で、自分の作った基板に合わせて、D0-D14とかを変更する事が出来るみたい。

タイマーのとこで、ちょっとはまった。(正しく無いかも知れない)

tiny84Vでちょっとはまったので、ついでに、秋月で売り出した、tiny861も書いてみた。

とりあえず、m8u2 m32u2 tiny45 tiny85 tiny861 tiny84は、コンパイル出来てるみたい。
tiny861はまだうちに無いから、試して見ないと解らないが、エラーは無くなった。(シリアル無いから、ソフトシリアルにしないと、当然そこはエラー出るが)

面白そうだとは思っていたのだけど、コアが無くて・・

コアって言うより、ピンアサインとタイマー関係の正誤表なんだけどねこれ・・・

現状、bootloaderが無いけど、optibootで作れると思う。

いじり始めると、Arduinoって柔軟でいいなあ・・・と思う。

コメント

このブログの人気の投稿

楽天 不正利用の顛末

楽天から届いたポイントメール 事の起こりはこのメールからだった・ 「へえ、俺楽天に、1500ポイントばかり有るけど、これって、1500円って事?」とTwitter仲間に話して、「そうだよ、ずいぶん買い物したねー」と言われて気付いた・・私は少なくともここ2年以上、楽天なんか使って無い! パスワードさえ本人が忘れてるような楽天のポイントが増えるのはおかしい。 パスワードをリセットして、初めて、「楽天ポイントの確認」なんかに入ってみた。 「えーっとたしか5年くらい前にVoIPの部品買った記憶はある」 確かにそれは存在したただし、合計1万円にも満たない・・ 「楽天って豪気だなー、ポイント一割もくれるのかー」と思ったが、全部を確認すると・・全くいわれの無い買い物がそこに有った。 何この14万のオーディオらしき物って! 僕は実際、楽天にポイントが有る事さえすっかり忘れていたし、どーでも良い会社だった。 これは何・・楽天に登録されてる僕のカードはこの時点で確実に失効してるので、僕のカード支払いでは無いし、こんな請求が来た事は無い。 2011/6/30 知人に聞くと、「楽天の店って、ノルマ高いから良く有る」との事・・こうやって、ほとんど休止してるアカウント悪用してる可能性が高いのだ。 こんなのが横行してたら、楽天の売り上げ高なんか、イカサマでいくらでも作れる事になる。 そしてまず、楽天のヘルプから苦情を投稿し、頭に来たので、三木谷氏のツイッターに送信した。 https://twitter.com/#!/hmiKitani Twitterの方が早く 楽天市場CS @ RakutenIchibaCS と名乗るとこから・・ 「 楽天市場お客様窓口担当です。この度はご心配をおかけいたしまして申し訳ございません。現在のところ、弊社から情報が漏洩したという事実はございませんが、お客様の現状を確認し、別途サポート担当より連絡をさせていただきます。今しばらくお待ち下さい。」 と来て 「なんで、公式のメールの方は帰って来ないのかと返信したら」 楽天市場CS  @ RakutenIchibaCS 「楽天市場お客様窓口担当です。この度はサポートセンターからの回答が遅れ、申し訳ございません。先ほど、ご質問の件に関しまして返信をいたしましたので今一度ご

計画停電が来ました。

色々やろうとしてた割には間に合わず・・ MacBookは余裕で生きてました。PocketWifiを探したんですが見つからす・・テーブルスタンドが、LEDの電池共用だったので、真っ暗ににもなりませんでしたが・・ 暗くてなんかやる気も出ないので、寝床でひっくり返って、MacBook動かしてました。 LEDスタンドが、外部USBバッテリーで余裕で、保ってくれたのも有り・・(それが切れてもまだ内蔵が単四電池3本がある) もう一個か二個くらい、照明用のLEDが有れば耐えられそう。 そんなのも有って、定電流回路ちょっと作ろうかと資料漁ったらいいのがあった。 これ 。 一ヶ月位続くって言うから秋月から、3WのLEDを数発買うかなーー とりあえず、家に転がってた、バイクのバッテリーと、MacBookの電源、携帯電話用ポータブル電源とかで、とうぶん毎日1回3時間程度点灯すればいいのかーー 理想的には、LED位なら、スーパーキャパシタが理想ですよねーー PEKE PROJECTは、とりあえず、1週間ほど、休止して、ATtiny85のブートローダーを作り・・Arduinoベースで、停電認識、通電時PWMでの充電機能、LEDの、省エネPWM点灯とかを、ちょっと研究しとこうと思ってます。

秋月の低ハイト、ピンソケット

最初どうかなーー抜けやすかったら嫌だなあと思ったが、さすがにそうならない努力してあるらしく、パチンと言う感じではまる。長いソケットが、刺さる感じなのにこれは、はまる感じなのだ。 ソケットはともかくピン側は結構扱いに困る・・このままブレッドボーボードには刺さらない。丸ピンにも刺さらないから、相手に出来るのは、専用のソケットだけになる。 ただ、いいなあと思ってるのは、これをISPにすると、パチンとはまる事と、ピン側の高さが制限されて、AVRや、PICの基板に無骨に突っ立っていた、ISPコネクタのハイト下げられる。 低ピン→ブレッドボード × 低ピン→標準ピンソケット × 低ソケット→低ピン ○ (ピンはこれ以外の組み合わせを確認できていない) 低ソケット→標準ピン ○ 低ソケット→細ピン ?? 低ソケット→丸ピン × と言う関係なので、ISPには使える。古いISPコネクタと併用出来るから、ソケットにはいいのだ・(はみ出るけど) ISPのハイトが下がると、基板全体が薄くなる可能性が、SMDとかにある。・・薄くするためにDIP ICをソケット無しで、直接半田付けしちゃう私なんかも・・このハイトは助かる。