Back to Basics

Things Our Friends Have Written On The Internet 2008

There’s something heart-warming about the simplicity of a bundle of fresh bread product and news printed on paper. The whiplash of life, reactions to the times perhaps, moves towards paper, simplicity, tangible trusted objects like a foursome of Pretzel Bread and ink on news paper.

Friday January 30 10:51

And to go along with that, the German deli from which the pretzels (and bratwurst, etc., etc.) were purchased. Tucked back behind a stereo installer, dry cleaner and gas station, a little gem that will be frequented, surely.

Why do I blog this? Inspecting themes and principles related to trusted, tangible objects and their experiences. In the current era, is Trust nostalgic?

Continue reading Back to Basics

Many Facets

Saturday January 24 18:10

There are many facets to art-technology and its exhibition. This was seen at the splendid “Future Imaginaries” exhibition at the Ben Maltz gallery at Otis College of Art and Design. I eagerly await Norman Klein (pictured gesturing to Lev Manovich who is assessing an audio focus rig) and Andreas Kratky’s forthcoming DVD that was featured at the exhibition/ There was also a collection of curious, carnivalesque assemblages that are all simultaneously forward and backward into the future. Tom Jennings’ peculiar recording, mapping instruments from the future past or somewhere were my favorite.

Saturday January 24 18:16

Saturday January 24 18:17

Here are some other pieces from the exhibition:

Saturday January 24 18:15

Saturday January 24 18:07

Saturday January 24 18:19

As to my Top-15 list of criteria for interactive art / art-technology, I generally don’t assume its necessary to ask “what’s it do?” about such things as shown in an exhibition like this. That’s a little weird to me. It’d be like asking Goya what “Saturn Devouring His Son” does, or how it works or something. So, I only know what these objects do in my own mind. That’s all I mean. So, like..if you ask? And I tell you? That is my basis for knowing — I didn’t ask any of the artists to explain their art to me, like a bunch of other people did. Which is weird to see happen.

A few more photographs are here.

Continue reading Many Facets

Isla Lyddle End 2050

Isla Lyddle End Beach (Lyddle End 2050)

Isla Lyddle End Map (Lyddle End 2050)

For Russell’s speculative modelling provocation, I was sent a Hornby Jubilee Clock Tower. I quote Mr. Davies:

How about I get a load of Lyddle End properties and we try and build a version of what we think Lyddle End might be like in 2050? Everyone who wants one gets a little building and they have to alter it, mod it, change it, play with it, to reflect how they think the world will be in 42 years time. Then, we’ll put them all together, either physically or through the magic of photography, and see what it might tell us about our visions of the future. I can’t help thinking we might be able to build ourselves a rather intriguing speculative diorama.

After meeting Russell at Design Engaged and feeling a certain kinship around our shared interest in the old Canon A-1 and design provocation generally, I signed up to participate. My first draw was a wholly different, participatory kind of design process. One that allows speculation to involve not only thinking but making, crafting and without the usual constraints that might go into thinking about a future that’s only one product cycle out. Mid century fictional futures. Perfect. Very Design Fiction-y.

At first, I wasn’t entirely sure what the heck a Jubilee Clock Tower might be, so I asked Rhys, with whom it is my good fortune to sit adjacent to in the studio and who got a Hornbee Flower Shoppe, and he explained that these things are clocks constructed to celebrate the Golden or Diamond Jubilees of the British crown. It sat on my desk, got twirled about, mulled over, discussed, peppered up in various ways until basically I knew I’d have to do something least I fail in my mission.

Blinding insight befell. I saw a future for Lyddle End that revealed impending environmental challenges, that signaled the possibilities for vast, almost impossible to imagine cultural shifts and that was undergirded by a romantic notion I have with stalwart Britishness to make do despite overwhelming odds.

Isla Lyddle End lies on the far west of the British Archipelago. It is the largest of the western islands in what was once the continuous land mass known as Hornbyshire. Isla Lyddle End celebrates the Golden Jubilee of The Grand Iman of Britain HH Patel bin Windsor with a minaret clock tower, constructed of hard-pack, molded synthetic carbon nodules in full compliance with the Rock and Soil Conservation Act of 2038. Isla Lyddle End is only a 40 minute fan boat ride from Paddington Sea Station. Bring your Wellies! Isla Lyddle End is well-swamped twice a day, and near coastal areas submerge at the day’s first tide.

Britain in 2050 has a monarch of mixed cultural ancestry, is 98% sunk under rising seas, has traces of Spanish in its idiolect and recognizes Muslim culture in its public monuments.

Isla Lyddle End Clock Tower Minaret Sea Fort (Lyddle End 2050)

Thursday January 22 14:35

Thursday January 22 14:36

Thursday January 22 14:36

Wednesday January 21 19:21

It was a simple matter of Dremel’ng the top off of the original Jubilee Clock Tower, modeling a simple version of what I think the top of a Minaret in 2050 might look like, plastic-printing it and plopping it on top. Some photography late last night suggested that there need to be something besides sea and shore, so I put in some photos of the Maunsell Sea Forts for context. The British Archipelago map is actually an algorithmic rendering of “my” Southern California generated by GPS tracks. There’s a hunk of the westside (Venice Beach and Santa Monica), bits toward downtown and Hollywood/Silverlake/Los Feliz, little jaunts further south, and my coastal commute up the Pacific Coast Highway to the studio in Calabasas where I decided Isla Lyddle End should reside.

cf russelldavies.typepad.com/planning/2008/11/lyddleend2050….
cf lyddleend2050.tumblr.com/

Thanks for the fun project Russell!
Continue reading Isla Lyddle End 2050

Short Code

Saturday January 17 19:48

Shorthand code, accepted by convention and practice. Minivan. For sale. Call this number to discuss. Oftentimes a price will appear in grease pencil like this, along with the number. Here, just a dollar sign, as if written in haste and without consideration as to price.

Why do I blog this? Observation of the use of this curious short code relying on conventions for owner sold vehicles. Not necessarily true, but what struck me as well was the possible correlation between selling a minivan and the current credit crisis or whatever the heck is going on. Aren’t minivans the kind of thing you get when your second kid comes along and the one thing you basically keep for quite some time?
Continue reading Short Code

Tipped.

Monday January 19 11:06

Photographic recollection of an accident that happened a few minutes before I cleaned it up. In the studio, morning — reaching to my left, I knocked over my coffee which did a fairly good job of soaking a couple of things. No biggie, except that what surprised me most was the failure of my peripheral vision and proprioception, which are both usually reasonably well-tuned. It all led to a discussion about how both of this bio capabilities may be losing their resolution with all the cone-of-activity work that ends up happening amongst people like me who tend to focus their attention into small cones of activity — at screens, both big and small, but mostly fairly small, from the cell phone display up to 24 inch LCD monitors. Andrew says we should tune to see our toes whilst looking straight ahead. Watching a West Wing rerun from season one, a Secret Service agent laments not being able to recall a crucial detail seen out of her periphery after President Bartlett and his entourage are shot at. In a recent episode of The Unit, an operator torments himself nearly to death after coming to the shock-induced, near-death realization that he missed the tell-tale miniscule details of a sniper stealthily getting into position at a high window.

Why do I blog this? Observations about how we observe and intriguing possible roles that our habits play in altering capabilities. Good, bad — not really interested. Just wondering, where do our observational abilities shift toward? Do we become like the bottom, steam-vent dwelling creatures that go around blind, sensing with touch, gesture interfaces finely tuned through millennia of playing with iPhones and game controllers?
Continue reading Tipped.

Visual Design and Mitigation Strategy

A variety of rules designed to mitigate accidents and loss of limb at a local bouncy-park, for kids. And people within certain height boundaries. And people above a certain weight. And people inclined to rough play. And people who may end up tumbling or flipping. And..

Why do I blog this? Intriguing iconography and visual idioms.

Workshop on Pervasive Advertising


It amazes me how non-relevant this topic is, particularly nowadays when there can be little reason to entice a consumer to engage in letting loose of whatever cash they may have. By the time we get out of the current morass of mistrust, misspending and misguided expectations of a world where all the growth graphs go up and to the right, we should be happy to have a pair of trousers that fit and a spigot with potable water running out of it.

But, the topic of pervasive advertising goes further than that. What could the outcome of a workshop be other than..a world of pervasive advertising. I mean, working out the details is all good, but what about a workshop on a world without advertising? Could that even be possible to have without essentially saying you’re going to quit your job as an engineer/scientist of pervasive stuff?

It just turns out that the vision of a near future of pervasively advertised-to humans just comes out all wrong. It’s only ever annoying and bothersome, or a horrid expression of human-database symbiosis.

There’s really not much more of an end game for pervasive advertising than that of the extrapolation of today’s conditions as in the remarkable design fiction of Spielberg’s visual rendering of P.K. Dick’s “Minority Report”. The assemblage of participants in the world of advertising is optimized for itself, which is well-greased linkages between me, my “interests” (to the extent these translate into commerce) and those who have something to gain in economic terms from selling me my interests. It’s optimized to leverage the pervasively networked, databased world and this can only lead to an intensely uninspired, technically awesome, intrusive and annoying world. It can’t really go any other way than that shown in the various compelling and fascistic interpretations in “Minority Report” of the pervasive advertising future – retinal scanning, holographic “pop-up” adverts, yammering cereal boxes with laminated displays and gesture recognition (to know when I’m trying to tell it to stop yammering, which is guaranteed to fail any number of times, as adroitly shown in Spielberg’s film), fascistic large urban screens, etc.

Yet, this workshop sounds pleasantly inviting. I don’t, though, see how the conditions of possibility for a world of pervasive advertising would lead to anything but the nuisance we experience today, times a billion. Who knows. Maybe today’s economic blight will wipe advertising as we know it off the face of the map for something else. What that is, i have no idea but so long as we think of advertising as a “sure thing” along with death and taxes, it’ll be nothing more than what it is today, except with a few network links and even bigger screens. We’ll still have “pop-ups” only they’ll stand in front of us when we try to get from here to there. We’ll still have messages on otherwise blank walls reminding us to give feedback on that Torx wrench we just bought from Callium Carbide Tools of Peoria last week. I mean..sounds wretched.

$100 for the first person who can come up with a compelling imaginary of a world without advertising, and one that renders viable and with a buzzing economy.

CALL FOR PAPERS

1st Workshop on Pervasive Advertising

In conjunction with Pervasive 2009
May 11, 2009 – Nara, Japan

http://pervasiveadvertising.org

Submission Deadline: February 10, 2009

“The only sure things in life are death, taxes and advertising. Although
pervasive technologies cannot avoid death or lessen the pain from
taxation, advertising is fertile ground for research on pervasive
technologies.”

[[What ninny said this?? What? Did Moses take out a 2 minute spot during the parting of the Red Sea? If this is the principle of pervasive advertising, fatwa on all pervasive advertising workshops! If advertising really is a necessary evil, like death and taxes, lets get to work on making it an obsolete evil thing that has been eradicated, like the Pox and Foot and Mouth disease; get rid of it already. Or get onto something different and inspired and more in keeping with the times. Stop twiddling about with technologized versions of the same old crap. Seriously.]]

======================================================================

Electronic displays have become ubiquitous and replace traditional
posters and billboards. Hence they not only provide a way of showing
dynamically updated content, but also means to react implicitly and
explicitly to the audience in their vicinity. In order to interact with
the target audience, technologies need to be explored capable of
identifying the user or his interests / needs.

[[Well, this is speculative. I see plenty of peeling wheat-paste-ups all over the place. but, okay. Let’s assume that J.C. Decaux is well-positioned to introduce digital displays ubiquitously. Do I want to know that they’re linked to a database of me? Who is J.C. Decaux anyway? Can I tell him to leave my database alone?]]

The current generation of mobile phones come with high speed Internet
access and built-in location sensing. Those properties make mobile
phones a powerful mediator between the advertiser / advertising platform
and the customer.

[[Good God. That’s just wrong. I mean, who wants an ad to pop up on their phone?? I have enough trouble when I get an SMS. Seriously. Who is it? Am I missing something here?]]

Social networks such as Facebook, MySpace or LinkedIn are rapidly
growing. Such platforms include detailed information not only on the
interests of users (based for example on profiles and histories) but
also on their network. This information is placed on the Internet and
shared with friends or even the public.

[[Yeah, but under my own terms. Or should be. Can I opt out of pervasive advertising networks?]]

These technological advances, and others, change the opportunities and
challenges for advertising radically.

[[Not really. It’s the same crap, only with a network and a database and real-time data links. Really. Don’t fool yourself to think that something innovative is going on here. It’s just optimization of an existing schema for knots and linkages between my wallet, my sensibilities and some company some where.]]

Consequently, advertising is becoming one of the major drivers of
pervasive computing technology for many end-users (e.g. mobile ads,
digital signs, context awareness, RFID). Yet we believe that the
attention this topic received in the pervasive computing community does
not equal its immediate impact on society.

Taking a positive view we can envision advertisements that precisely
match a person’s interests and fit the current situation so well that
people enjoy receiving them and see advertising as a pleasant
distraction. On the contrary taking a negative view one could imagine a
world where people cannot escape from advertisement, where we are
continuously tracked and where advertisements reduce the quality of
life. Both views even though very extreme are worthy of further
discussion. Hence we hope to provide a venue for this discussion by
offering this workshop.

[[I’ll be looking for the workshop write-up. I’m dubious. No one in my mind has come up with anything other than that which will lead to the “Minority Report” imaginary. Seriously. As pleasant as it is shown in the PowerPoint, it’s always enormous screens beaming down to me Coca-Cola ads or encouraging me to buy a watch only someone like Sir Edmund Hillary would wear..you know, those big, multi-face “chronometers” that look like an exercise weight.]]

PAPER SUBMISSION AND PARTICIPATION

We ask potential attendees to submit 2-4 page papers describing their
research interest and particular focus on the workshop topic. The paper
may include the description of ongoing research, results found,
experience gathered, new ideas, future projects or questions on topics
related to pervasive computing and advertising. Each participant is
asked to provide a short paragraph (up to 200 words) on their vision of
advertising in 25 years from now. All submissions will be peer-reviewed.

More information can be found at
http://pervasiveadvertising.org

All submissions must be sent electronically to joerg.mueller@uni-muenster.de
The format for submissions is Springer LNCS, the same as that of
Pervasive 09.
Templates can be found at
http://www.springer.com/computer/lncs?SGWID=0-164-7-72376-0

Papers should be no longer than 4 pages. All papers must be submitted in
PDF. At least one author for each accepted paper is expected to attend
the workshop.

Non-archival working notes will be produced containing the papers
presented at the workshop. Selected papers from the workshop may be
considered for expansion and inclusion in a special issue of a journal.

IMPORTANT DATES

* February 10, 2009: Deadline for electronic submission
* March 1, 2009: Author Notification
* May 1, 2009: Submission of camera-ready
* May 11, 2009: Pervasive Advertising Workshop at Pervasive 2009

WORKSHOP ORGANIZERS

Jörg Müller, University of Münster
E-mail: joerg.mueller@uni-muenster.de

Albrecht Schmidt, University of Duisburg-Essen
E-mail: albrecht.schmidt@acm.org

Bo Begole, PARC
E-mail: bo@parc.com

Aaron Quigley, University College Dublin
E-mail: aquigley@ucd.ie

Why do I blog this? I dunno. This stuff kinda bugs me, if you can’t tell. It’s pretty clear that the angle is to create something that has commercial viability, rather than thinking things through for an alternative near future of connecting people, interests, ideas and so forth. On the one hand, it’s exciting and futuristic stuff. On the other hand, it’s not a future that I think has particularly exciting prospects in the category of “habitable”, fun, non-invasive, non-bothersome, non-pop-up-in-your-face futures. And, the advertising thing. I’m serious. If someone can’t paint a picture of a world without advertising..I’m listening. And I got your $100 here.
Continue reading Workshop on Pervasive Advertising

Anticipating Failure

Sign

I swear to GOD this is a friend’s “sig” line in her emails (she’s the hardest working IT person at a university department with lots of whining, illegal-software-downloading, computer-breaking-and-never-fixing, softdrink-drinking-right-by-fancy-computer-equipment students, so I have complete sympathy.)

Various Disclaimers:
MAD AT ME? My email load is heavy and some things end up in spam folders. If you think I have forgotten about you, re-send your email or send me an SMS.
ERRORS? I use a TabletPC. (Handwriting recognition is almost perfect.)

Why do I blog this? It occurs to me that these are all ways of anticipating failures of various sorts. Failures in the handwriting recognition software (inevitable..); failures to respond and anticipation of people getting upset because there’s no response inevitably resulting in a follow-up email with thinly veiled expressions of piss-offedness, etc. What are the ways that our technology forces anticipated failure? Does anticipating failure lessen the consequences? Can anticipated failure become part of specifications so we get out of the land of fantasy-advertised-feature-richness and get back to the pragmatics of how things actually work out in the wilds of normal, human real social practices?
Continue reading Anticipating Failure

Stating the Obvious

Thursday January 08 1812

Seen in the "Funplex" — a warning sign that prepares those not used to losing that they may in fact obtain nothing for their time and perhaps even lose something in exchange for the token they use to have a whirl at the crane game (try and hoist out a bundle of tickets which can be used to get things – mostly crap — like stuffed animals and plastic toys.)

I found this sign peculiar, but perhaps apropos of two things. First, young kids who are the audience for this Funplex who may be so coddled by their parents that the prospect of not getting what they want results in an eruption of tears and feet-stomping. (Or, that may just be a human universal at these ages. I’m skeptical, though.)

Why do I blog this?The “meta” insight here is a reflection on the times, particularly in a context in which “Trust” is brought into question — the Trust that knits together individuals to make a society, including the institutions that are based on nothing but Trust —banks and other financial constructs that basically told us that they were the place to entrust our futures. This sign is a reminder in an odd context that playing doesn’t mean winning.
Continue reading Stating the Obvious

Autonomous Game Controllers

JCB_01012009__142528_4160_DRV001

Continuing on my strange pursuit of designing weird interfaces that disrupt conventional game interaction rituals, I put together a bit more of my “PSX” project. You probably don’t recall, but this is the project where I’ve created a little “dongle” that can fool a PS2 (or Playstation 3, as it turns out..) into thinking that the dongle is actually a Playstation controller. You can also hook up a real Playstation controller to it and it can “read” the controller buttons and joystick and pass that data through, or do whatever you want with it. It appears as an TWI/I2C device to anything that talks to TWI/I2C devices..like my favorite TWI/I2C talking thing — the Arduino.

You can see here that the dongle — the white box with those annoying, huge Playstation connectors on either end, one male, one female — has four wires going into it. Those are for power, ground and the TWI signals, SDA and SCL. The power and ground are necessary because the Arduino (at least this one here) and the dongle run at different voltages. The Arduino is a 5V device, while the dongle is a 3.3V device, so there’s some level shifting going on inside there.

JCB_03012009__195744_4176_DRV001

190808_200037

So, that’s all fine. It works, etc. But then the question that’s actually more intriguing than building the thing..what do you do with it?

Well, I have some ideas, including hooking up a bike to it and attaching a giant human form kick-boxing dummy to play old school fighting games. For some early fun and nonsense, I connected a Wii Nunchuck up to it to control Playstation games with Wii-y gestures and stuff. Which could be cool if I find the right game, or spend a little more time thinking things through rather than just writing and revising microcontroller firmware to make a TWI controllable device, and doing Catia to CAD-up and print plastic enclosures.

But, in the meantime, I decided to do an absolutely crucial bit of game science. Something that I am entirely sure is mulled over constantly, but never properly investigated. The question is best stated thusly: how long would it take the Little Prince to roll up an entire room based on a random path algorithm?

How long indeed. Well, short answer is a long time. I let it go for about 70 minutes, after which he had just 10 things to go in a particularly tricky location that required rolling across a narrow bridge. At this point, I took over..but check out the 8x speed video anyway!

Katamari Autonomy from Julian Bleecker on Vimeo

I wrote a quick little Arduino code for my PSX dongle to have the Little Prince roll forward and then, after a few moments, make a random directional change. (Or stop, take a load off and look around the world.)

This was all done by sending TWI commands to the appropriate registers in my little DIY Playstation 2 controller emulator. All the buttons and the joysticks can be emulated as to their state through a series of write-to registers. If there’s a controller stuck in the other side of the dongle, there are a complement of read-from registers so you can see if any of the buttons are pressed and how much the joysticks are displaced. (I set up an “escape” buttons sequence — pressing both L2 and R2 — to bring control back to the normal joystick so I could navigate menus or take control over, which I had to do after I realized, with four items left, the completion of cleaning the room would probably not happen before the universe ran out of steam.)

Here’s the Arduino code. Pretty straight forward Wire / TWI library stuff.


#include
#include "nunchuck_funcs.h"

#define is_bit_clear(a, n) (0 == (a & (1<<n)))
#define is_bit_set(a, n)  (1 == (a & (1<<n))

#define is_button_pressed(a, button) is_bit_clear(a, button)
#define is_button_released(a, button) is_bit_set(a, button)

#define BTN_SELECT 0
#define BTN_L3 1
#define BTN_R3 2
#define BTN_START 3
#define BTN_UP 4
#define BTN_RIGHT 5
#define BTN_DOWN 6
#define BTN_LEFT 7
#define BTN_L2 8
#define BTN_R2 9
#define BTN_L1 10
#define BTN_R1 11
#define BTN_TRIANGLE 12
#define BTN_CIRCLE 13
#define BTN_X 14
#define BTN_SQUARE 15

// register addresses in the PSX I2C device
#define W_BUTTONS_0 0x00 // (, ^, start, R3, L3, select
#define W_BUTTONS_1 0x01 // (square, x, o, triangle, R1, L1, R2, L2)
#define W_RIGHT_X 0x02
#define W_RIGHT_Y 0x03
#define W_LEFT_X 0x04
#define W_LEFT_Y 0x05

#define R_BUTTONS_0 0x12 // (, ^, start, R3, L3, select)
#define R_BUTTONS_1 0x13 // (square, x, o, triangle, R1, L1, R2, L2)
#define R_RIGHT_X 0x14 // a value from 0x00 - 0xFF
#define R_RIGHT_Y 0x15 // a value from 0x00 - 0xFF
#define R_LEFT_X 0x16
#define R_LEFT_Y 0x17

// I2C address of the PSX dongle
int psx_dongle_addr = 0x72;
int j;
void setup()
{
  Serial.begin(9600);
  randomSeed(analogRead(0));
  Wire.begin(); // join i2c bus (address optional for master)


// this is the control register. setting it to 1 means that
// we have to tell the PSX device what data to send to the
// Playstation2. Setting it to 0 means that it simply passes
// through the data from the controller to the PS2. We can
// read the state of the contorller at any time.

writeToAddress(psx_dongle_addr, 0x24, 1);
}

// we'll use count to figure out when to change direction
int count = 0;
int buttons;

// mode is used to indicate either "pass thru" where we can use the
// actually real human controller to control the PS2, or to generate
// data via the PSX dongle.
// pressing both L2 and R2 simultaneously toggles the mode
int mode = 1;
byte randomNumber;

void loop()
{
  byte val;
  count++;
  //Serial.println(count, DEC);
 // 0x70 shows up as either ID $20 or ID $E0 on Propeller

/*******************************************/
/*
  BTN_SELECT = $0001
  BTN_L3 = $0002
  BTN_R3 = $0004
  BTN_START = $0008
  BTN_UP = $0010
  BTN_RIGHT = $0020
  BTN_DOWN = $0040
  BTN_LEFT = $0080
  BTN_L2 = $0100
  BTN_R2 = $0200
  BTN_L1 = $0400
  BTN_R1 = $0800
  BTN_TRIANGLE = $1000
  BTN_CIRCLE = $2000
  BTN_X = $4000
  BTN_SQUARE = $8000
**/


// 0x00 write to BUTTONS_0, 0x12 read from BUTTONS_0
// 0x01 write to BUTTONS_1, 0x13 read from BUTTONS_1
// 0x02 write to RIGHT_X, 0x14 read from RIGHT_X
// 0x03 write to RIGHT_Y, 0x15 read from RIGHT_Y
// 0x04 write to LEFT_X, 0x16 read from LEFT_X
// 0x05 write to LEFT_Y, 0x17 read from LEFT_Y
//Serial.println(getButtons(), HEX);
//int buttons = getButtons();
//Serial.print(buttons, BIN);
//  passThruButtons();

if(count > 512) {
  count = 0;
}
//Serial.println(mode, HEX);

// get the buttons
buttons = getButtons();

// mode is used to indicate either "pass thru" where we can use the
// actually real human controller to control the PS2, or to generate
// data via the PSX dongle.
// pressing both L2 and R2 simultaneously toggles the mode
  if(mode == 1 &&
     is_button_pressed(buttons, BTN_L2) && is_button_pressed(buttons, BTN_R2)) {
    mode = 0;
    delay(1000);
  } else
  if(mode == 0 &&
     is_button_pressed(buttons, BTN_L2) && is_button_pressed(buttons, BTN_R2)) {
     mode = 1;
     delay(1000);
     }
 if(mode == 1) {
passThruAllAndShow();
 }
 if(mode == 0)
  {

  writeToAddress(psx_dongle_addr, W_LEFT_Y, 0x00);
  writeToAddress(psx_dongle_addr, W_RIGHT_Y, 0x00);
  passThruButtons();

  if(count == 512) {
    count = 0;

    randomNumber = random(1,5);
        Serial.print("FLIP! ");
        Serial.println(randomNumber, HEX);
    switch(randomNumber) {
      case 1: case 2: case 6:
        writeToAddress(psx_dongle_addr, W_LEFT_Y, 0x00);
        writeToAddress(psx_dongle_addr, W_RIGHT_Y, 0xAF);
        delay(500);
        break;
      case 3: case 4: case 5:
        writeToAddress(psx_dongle_addr, W_LEFT_Y, 0xAF);
        writeToAddress(psx_dongle_addr, W_RIGHT_Y, 0x00);
        delay(500);
        break;
          default:
         delay(500);
         break;
    }
  }

  /*
writeToAddress(psx_dongle_addr, W_LEFT_X, (float)map(nunchuck_accelx(), (float)0x48, (float)0xB0,
                (float)0x00, (float)0xFF));
writeToAddress(pssx_dongle_addr, W_LEFT_Y, (float)map(nunchuck_accely(), (float)0x48, (float)0xB0,
                (float)0x00, (float)0xFF));

writeToAddress(psx_dongle_addr, W_RIGHT_Y, (float)map(nunchuck_joyy(), (float)0x1D, (float)0xDF,
                (float)0x00, (float)0xFF));
writeToAddress(psx_dongle_addr, W_RIGHT_X, (float)map(nunchuck_joyx(), (float)0x1D, (float)0xDF,
                (float)0x00, (float)0xFF));
*/
}

delay(10);
}


//
int getButtons()
{
int result = 0x00;

result = readFromAddress(psx_dongle_addr, 0x13, 1);
//  Serial.print(result, HEX); Serial.print(" ");
result <> 8)); // MSB
  Wire.send((int)(addr & 0xFF)); // LSB
  Wire.send(data);
  Wire.endTransmission();
}

byte readFromAddress(int twi_addr, int addr, int bytes_to_read)
{
  byte rdata;
 Wire.beginTransmission(twi_addr);
  Wire.send((int)(addr >> 8)); // MSB
  Wire.send((int)(addr & 0xFF)); // LSB
  Wire.endTransmission();
  Wire.requestFrom(twi_addr,bytes_to_read);
  while (Wire.available()) rdata = Wire.receive();
  return rdata;
}

Continue reading Autonomous Game Controllers