Show an email

GET /hyperkitty/api/list/[email protected]/email/PAQRBLB5Q3DD2RBXW5FZ6TTG6VNAUUNH/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "url": "https://mailman.amsat.org/hyperkitty/api/list/[email protected]/email/PAQRBLB5Q3DD2RBXW5FZ6TTG6VNAUUNH/?format=api",
    "mailinglist": "https://mailman.amsat.org/hyperkitty/api/list/[email protected]/?format=api",
    "message_id": "001e01c8562d$4a460900$6432a8c0@LAPTOP9",
    "message_id_hash": "PAQRBLB5Q3DD2RBXW5FZ6TTG6VNAUUNH",
    "thread": "https://mailman.amsat.org/hyperkitty/api/list/[email protected]/thread/RWMFAK24L6OCIDGWIBAFXQEVALXWNHK2/?format=api",
    "sender": {
        "address": "howard (a) howardlong.com",
        "mailman_id": "82a1d3d58c6f48898b755d208f81930e",
        "emails": "https://mailman.amsat.org/hyperkitty/api/sender/82a1d3d58c6f48898b755d208f81930e/emails/?format=api"
    },
    "sender_name": "Howard Long",
    "subject": "[amsat-bb] Re: [SPAM]   Re: LVB tracker display problem",
    "date": "2008-01-13T21:43:09Z",
    "parent": "https://mailman.amsat.org/hyperkitty/api/list/[email protected]/email/RKPMA3A4TBSGAEB2UYZDV546WEEYYZUL/?format=api",
    "children": [
        "https://mailman.amsat.org/hyperkitty/api/list/[email protected]/email/JFIO6F4CXY23WM7SFRBPJKKKXHN3W4MT/?format=api"
    ],
    "votes": {
        "likes": 0,
        "dislikes": 0,
        "status": "neutral"
    },
    "content": "Hello Andrew,\n\n> How does the LVB detect an LCD presence ?\n>\n> In all the LCD programming I have ever done, \n> it has been just logic levels towards the LCD.\n>\n> Nothing in return ?\n>\n> Are you talking to the LCD CPU ?\n\nOh, it's not clever at all. When you send a command to the LCD, you can\nsubsequently ask the LCD for a READY bit to see if the LCD's done its\nbusiness. If it takes more than 5ms for the bit to become active, then I\nshut down all LCD communication until the device is reset. Usually, this\nfailure would happen right at boot when there is an attempt to initialise\nthe LCD. If the LCD for whatever reason throws a wobbler and doesn't respond\nat any point latterly while we wait for the READY bit, any further attempts\nare disabled too.\n\nThe idea behind this was that I didn't want a different set of code for each\nof the different options. I could have used the push buttons to do some\nconfiguration for this, but without a display, I thought that it would be a\nbit hit and miss.\n\nLook at the code here http://www.g6lvb.com/Articles/LVBTracker/LVBTrack.c,\nand do a search on the global variable _bLCDActive. It is initially set to\nTRUE on a somewhat optimistic start during LCDInit. However you'll see it\ncan be set to FALSE in one place, in LCDWaitReady. Various high level LCD\nroutines won't do anything if _bLCDActive is FALSE.\n\nIt is wholely possible to do an optimistic algorithm that merely uses worst\ncase spec sheet timings without ever having to read the LCD at all. That\nwould either have meant plenty of dead time sitting in delay loops (equals\nslow and sporadic response for other parts of the system) or some\ncomplicated state machine. As it is, polling for the ready bit is usually\nonly a few tens of microseconds or so. I guess I also just like the nice\nwarm feeling of actually knowing something's listening. Myself I think it's\nneater to wait for the ready bit, but I accept it's a personal choice. Ask\nthree software engineers the same question, and you'll get three different\nanswers.\n\nHope this helps.\n\n73, Howard G6LVB\n\n",
    "attachments": []
}